Squish установить контекст приложения на aut, запускаемый aut под тестом
В python возможно ли установить контекст приложения для второго графического интерфейса, который вызывается тестируемым графическим интерфейсом.
Пример: мы запускаем приложение под названием test1.exe
с помощью startApplication
, Нажав кнопку в text1.exe
GUI вызывает другое приложение GUI под названием test2.exe
,
Теперь можно установить контекст приложения на test2.exe
GUI?
2 ответа
Squish для Qt требует, чтобы подпроцесс запускался с помощью squish_dir / bin / startaut.exe (затем используйте attachToApplication ()), squish_dir / bin / dllpreload.exe (автоматическое подключение) или скомпилировал в него встроенный обработчик.
В некоторых случаях вы можете уйти, выполнив следующее (задокументировано в разделе " Дополнительные настройки для подключения подпроцессов Qt в Windows неинвазивно"):
- Переименуйте test2.exe в test2_.exe
- Скопируйте файл squish_for_qt_dir/bin/dllpreload.exe в ту же папку, что и test2_.exe, и переименуйте его в test2.exe.
Таким образом test1.exe вызовет test2.exe, который теперь dllpreload.exe находится в "маскировке", что приведет к тому, что dllpreload.exe запустит test2_.exe.
Этот подход не будет работать, если test1.exe требуется идентификатор процесса test2.exe или если test2.exe требуется идентификатор процесса его родительского процесса, поскольку в обоих случаях это переименованный файл dllpreload.exe. Это также не будет работать, если test1.exe и test2_.exe пытаются установить связь друг с другом через потоки stdout, stderr, stdin (поскольку dllpreload.exe не устанавливает это).
Попробуйте выбрать "Присоединиться к подпроцессам..." в настройках набора тестов.