Как запустить автоматизированные тесты графического интерфейса на удаленной виртуальной машине ESXi без головы?

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

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

Можно ли запустить удаленный рабочий стол с виртуальной машины без головы на другую, чтобы подделать кого-то, кто просматривает?

Любые другие более разумные решения, о которых я не думал?


person jonjbar    schedule 14.09.2011    source источник


Ответы (3)


Вы должны иметь возможность войти в Windows на консоли виртуальной машины с помощью клиента vSphere, затем закрыть vSphere, и Windows по-прежнему будет считать, что пользователь просматривает консоль. Просто как тот. :)

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

Пока ваши тесты запускаются от имени вошедшего в систему пользователя Windows, все будет в порядке.

Этот метод всегда отлично работал для меня с некоторыми тестами Watir, Selenium и MS UI Automation, которые зависят от наличия интерактивного рабочего стола.

Если вам нужно автоматически перезагрузить виртуальную машину до/во время теста, вместо того, чтобы вручную входить в клиент vSphere, вы можете сделать так, чтобы Windows автоматически входила в качестве произвольного пользователя — отметьте команду «control userpasswords2», или вы можете использовать Sysinternals приложение "Автологин":

http://technet.microsoft.com/en-us/sysinternals/bb963905

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

Если вам нужно решение для удаленного запуска тестов, я настоятельно рекомендую использовать Jenkins или Hudson для запуска тестов/сбора результатов с виртуальной машины. Дженкинс изменил мою жизнь в этом отношении.

person Bill Agee    schedule 15.09.2011
comment
Это отличные советы, и, похоже, они полностью решат мои проблемы. Спасибо! - person jonjbar; 16.09.2011

Вы можете рассмотреть возможность использования функций Network Suites TestComplete: http://smartbear.com/support/viewarticle/16849/

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

Что касается открытия RDP для виртуальной машины без головы, это не должно быть проблемой — Windows должна «думать» об этом. Вы просто открываете RDP, и он работает, даже если к удаленному ПК/ВМ не подключен монитор.

Надеюсь, это поможет, Алекс

person Alex    schedule 14.09.2011
comment
Это помогает, хотя ответ Билла будет проще/дешевле для моих нужд. Спасибо. - person jonjbar; 16.09.2011

Вы всегда можете использовать VNC, установив флажок «Ничего не делать» при отключении программы просмотра. Таким образом, вы будете обманывать окна для создания изображения.

person Radu Enea    schedule 29.10.2012