Совместная работа Selenium & Winium на виртуальных машинах

Доброго времени суток.

Довелось в проекте использовать #winium для добавления файлов при аплоаде (использовать стандартный метод невозможно потому как нет input куда слать файлы :slight_smile: и необходимо загружать сразу много файлов) с помощью приложения Aspera. К сожалению использовать функции через #javascript не вышло - получаю ошибку. Потому приходится добавлять файлы через виндовое окно с помощью Winium.

На локальной машине с горем пополам удалось взаимодействовать с этим окном, искать локаторы, кнопать кнопочки, выделять файлы итд, а вот на виртуалке облом. Виртуалки подключены как JNLP agent, при том когда наблюдаешь за выполнением тестов то Winium отрабатывает нормально, но как только виртуалка остается без пригляда то сразу Winium кроме открытия калькулятора ничего сделать не может…

Встречался ли кто с таким?

Winium работает только в режиме active desktop, как и SikuliX. Т.е. виртуалка не должна быть залочена, заслипана и т.п.

Ну не должен же я на нее смотреть все время… есть тулзовина какая для решения этого?

Смотреть не обязательно, но как сказали выше активная сессия быть должна. Самый простой способ это выходить из RDC командой %windir%\System32\tscon.exe 0 /dest:console

Вот тут перед самым заключением описывают способы удержания активного десктопа.

Виртуалку сами поднимаете или через клиентское ПО конектитесь к какому-либо датацентру?

Через citrix на их дата центр. Эту статью читал, да и Autologon ставил, но не помогло.

В моем случае не RDC, а Citrix

С citrix не работал, потому не могу знать всей специфики. Имел дело c vmware клиентом, который предоставлял доступ к консоли датацентра. Там все было весьма просто: виртуалки настраивались таким образом, чтобы: а) никогда не лочиться; б) никогда не засыпать. По факту, на них постоянно крутилась сессия 1 залогиненного юзера. Ну а остальные пользователи при помощи консоли могли параллельно наблюдать и контроллировать соответствующие десктопы без боязни вылогинивания / лока / слипа при закрытии сессии.

Попробую подключить на одной из них как сервис и открыть опять-же из citrix остальные на ней чтобы они оставались активными… может поможет :slight_smile: