Обработка диалоговых окон SWT при выполнении тестов в автономном режиме с использованием SWTBOT - PullRequest
1 голос
/ 15 декабря 2009

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 18 декабря 2009

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

0 голосов
/ 17 декабря 2009

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

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

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

...