Запуск тестов на виртуальной машине не работает, если окно не открыто

Мы пытаемся проводить тестирование удаленно, поэтому мы настроили несколько виртуальных машин для запуска наших тестов графического интерфейса и освобождения наших локальных компьютеров. На что мы надеялись, так это на то, чтобы тесты выполнялись так же, как на физической машине, однако, похоже, для их правильной работы требуется активное подключение к удаленному рабочему столу. Эти тесты написаны с использованием LeanFT, и это приложение для Windows, поэтому это не тестирование мобильного графического интерфейса.

Есть ли определенный способ настроить эту виртуальную машину, чтобы правильно настроить ее для автоматического тестирования графического интерфейса, не требующего активного подключения к удаленному рабочему столу? Кажется, что он разделяет элементы управления на нашей физической машине.

Или я здесь совершенно не прав. Отличается ли удаленная машина от виртуальной машины? Спасибо!


person Tree55Topz    schedule 21.11.2017    source источник
comment
Удаленная машина просто означает компьютер, который не является вашей текущей ОС. Виртуальная машина — это компьютер, работающий внутри другой ОС. Вы можете подключить удаленный рабочий стол к виртуальной машине на том же компьютере.   -  person gunr2171    schedule 21.11.2017
comment
Может быть, ваш удаленный рабочий стол настроен на автоматический выход из системы в конце сеанса? Если он выходит из системы, то любые приложения (включая ваши тесты) прекращают работу, остаются запущенными только службы. Должен быть способ настроить удаленный рабочий стол так, чтобы он ничего не делал при отключении или, самое большее, блокировал машину при отключении вместо выхода из системы.   -  person Mike Nakis    schedule 21.11.2017
comment
@MikeNakis, однако это правда - даже когда окно свернуто, мы сталкиваемся с проблемами, потому что элементы не могут быть найдены. Виртуальная машина буквально должна отображаться, чтобы работать   -  person Tree55Topz    schedule 21.11.2017


Ответы (2)


Можно запустить тест графического интерфейса без активного подключения к удаленному рабочему столу.

Я достиг этого с помощью Leanft, выполнив следующие 2 шага:

  1. Настройте, как вы выполняете свои тесты

Независимо от того, работаете ли вы через подчиненное устройство Jenkins или через другой тип «слушателя» (возможно, ssh, bamboo и т. д.), вам необходимо настроить этот прослушиватель для запуска после входа в систему определенного пользователя.

В моем случае я запускал подчиненное устройство Jenkins, поэтому я настроил запуск подчиненного устройства так, чтобы оно запускалось, как только пользователь вошел в систему.

  1. Скажите Windows, чтобы войти в систему пользователя при запуске компьютера. Вы можете добиться этого через следующий реестр:

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    "DefaultDomainName"="DOMAIN"
    "DefaultUserName"="USERNAME"
    "AutoAdminLogon"="1"
    "DefaultPassword"="PASSWORD"
    
person Adelin    schedule 22.11.2017

Основным требованием является наличие активной сессии (независимо от того, используете ли вы Jenkins, TeamCity, Grid или другие инструменты для запуска тестов).

Для вашей виртуальной машины вам потребуется доступ к консоли. Для VMWare vSphere есть собственный клиент или веб-сайт. Для VMWare Workstation или VirtualBox они отображаются автоматически.

Используя доступ к консоли, войдите в систему и настройте ее так, чтобы она никогда не выходила из системы, не переходила в режим сна или гибернации. Это различные настройки ОС, которые вы можете посмотреть.

По сути, эти ящики должны быть всегда зарегистрированы. При такой настройке вы должны быть уверены, что доступ к этим системам контролируется, чтобы у вас не было случайных людей, входящих/выходящих из системы.

person not-bob    schedule 22.11.2017