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 не устанавливает это).

Попробуйте выбрать "Присоединиться к подпроцессам..." в настройках набора тестов.

Другие вопросы по тегам