В этом интересном сообщении в блоге delphiXtreme я прочитал о возможностях встроенного графического интерфейса DUnit (в основном альтернативный тестовый класс case TGUITestCase
, определенный в блоке GUITesting
, который имеет несколько функций утилиты для вызова действий в GUI). Я был доволен этим, пока не заметил, что он не работает с модальными формами. Например, следующая последовательность не будет работать, если первая кнопка показывает модальную конфигурационную форму:
Click ('OpenConfigButton');
Click ('OkButton');
Второй Click
выполняется только тогда, когда модальная форма закрыта, что я должен сделать вручную.
Я мало знаю о том, как модальные формы работают в фоновом режиме, но должен быть какой-то способ обойти это поведение. Наивно, я хочу как-то выполнить ShowModal
"в потоке", чтобы "основной поток" оставался отзывчивым. Теперь я знаю, что запуск ShowModal
в потоке, вероятно, испортит все. Есть ли альтернативы? любой способ обойти блокирующий характер ShowModal
? Есть ли у кого-нибудь опыт тестирования GUI в Delphi?
Я знаю о внешних инструментах (от QA или других), и мы используем эти инструменты, но этот вопрос касается тестирования графического интерфейса в среде IDE.
Спасибо!