Обработка диалоговых окон SWT при выполнении тестов в автономном режиме с использованием SWTBOT

StackOverflow https://stackoverflow.com/questions/1907646

Вопрос

Я запускаю тестовый пример Junit в своем приложении eclipse, созданном с использованием SWT.Я провожу тестирование графического интерфейса с помощью SWTBot.Итак, вот моя проблема:

editor.bot().button("Make Excel Template").click();

Этот код помогает мне создать шаблон в моем приложении.После этого выводится модальное диалоговое окно с сообщением «ОК».Однако я не могу заставить SWTBot найти эту кнопку/виджет/диалоговое окно.Я продолжаю получать исключение WidgetNotFoundException.

Кто-нибудь сталкивался с этим?В официальном контенте на веб-сайте SWTBot говорится, что диалоговые окна должны запускаться в отдельных потоках, не связанных с пользовательским интерфейсом.Однако приведенные примеры не очень информативны.

Ценю вашу помощь!

Это было полезно?

Решение 2

@carstenlez - ваше решение хорошо работает для диалоговых окон JFace.Однако мое приложение использует MessageBox, который является собственным диалогом.SWTBot не поддерживает собственные диалоги, поэтому у меня практически нет вариантов.

Другие советы

Сначала вам следует запустить тесты в потоке, отличном от UI (если вы еще этого не сделали).Во-вторых, вы можете использовать условие для ожидания появления модального диалогового окна после выполнения действия, которое вызовет диалоговое окно:

bot.waitUntil(Conditions.shellIsActive("This is the title of the modal dialog "));
bot.button("OK").click();

Это решило наши проблемы со временем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top