Есть что-то вроде xvfb или xnest для Windows?

В проектах с сквозными тестами, которые управляют графическим интерфейсом, неудобно запускать тесты на рабочей станции разработчика, потому что драйвер автоматизации графического интерфейса мешает рабочему столу. Он перемещает мышь, убирает фокус от приложений, которые мы хотим использовать, и может начать вводить текст в неправильное приложение, если мы переключимся на другое приложение во время пробного прогона.

В Linux мы решили это, запустив тестируемое приложение на виртуальном X-сервере (xvfb или xnest). С помощью xnest мы можем наблюдать за запущенными тестами, но по-прежнему использовать реальный рабочий стол без помех.

Есть ли что-то эквивалентное для Windows?

Ответ 1

Я нашел бесплатную программу под названием "RunProcess.exe", написанную Фрэнком П. Уэстлейком, которая может запустить процесс, связанный с рабочим столом неинтерактивного (например, вне экрана) WindowStation. Однако источника нет.

Поэтому я реализовал свою собственную версию (проще, чем Frank Westlake's) с Java и JNA. Он находится в репозитории Window Licker в модуле инструментов. Класс называется com.objogate.wl.win32.RunOnDesktop. В какой-то момент я могу перенести его на C и сделать его обычной командной строки .exe или, возможно, превратить его в задачу Ant для запуска тестов за кадром.

Ответ 2

Вы можете использовать приложение Настольные компьютеры из пакета SysInternals. Запускайте тесты пользовательского интерфейса на одном рабочем столе и работайте над другим.

Ответ 3

Я просто попробовал использовать метод нескольких компьютеров на своей машине с Windows 10. Я выполняю тесты Selenium Javascript. Я начал тесты на другом рабочем столе и ждал, пока он откроет браузер, а затем переключится на мой основной рабочий стол. Но в тот момент, когда браузер Chrome стал активным окном, теперь он фактически заставил меня вернуться к этому рабочему столу: - (

Я думаю, что попробую выполнить RunProcess.exe или решение Nat.