Возможно ли запустить Coded UI Tests в CI без ремоут сессии?


(Виталий) #1

Всем привет!

При настройки CI в TFS столкнулся с проблемой, что Coded UI Tests не запускаються без активной ремоут сессии на рабочей машине. Все делал как советуют ребята из MS, тест контроллер выключен, билд сервис переведен в режим интеректив процесс так же как и тест агент (в настройках тест агента стоит авто логин), все равно ничего не работает, вернее работает но с активной сессии, но это уж никак не дело(((

Может я что-то упустил в настройках, подскажите плиз уважайме колеги.

 


(levaal) #2

Виталий, привет!

 

Все делал как советуют ребята из MS

можно ссылку?

 

Мы тоже пробовали запустить CUIT, в конце концов решили что без активной сессии никак, и сделали следующим образом:

у нас есть две виртуальные машины машина1 и машина2. С машины1 постоянно висит открытая remote desktop connection на машина2. На машине2 запускаются CUIT тесты. 

Не знаю если есть решение покрасивее (возможно сам TFS может как-то запускать виртуальные машины с необходимой сессией - но тут уже не знаю, мы без TFS-а работаем).

 


(Виталий) #3

Все делал как советуют ребята из MS

можно ссылку?

Вот ссылка: http://msdn.microsoft.com/en-us/library/dd293551.aspx

у нас есть две виртуальные машины машина1 и машина2. С машины1 постоянно висит открытая remote desktop connection на машина2. На машине2 запускаются CUIT тесты. 

Не знаю если есть решение покрасивее (возможно сам TFS может как-то запускать виртуальные машины с необходимой сессией - но тут уже не знаю, мы без TFS-а работаем).

Вариант хороший но я все же не верю что не возможно запустить без ремоут сессии:)


(apetrovskiy) #4

"Вариант хороший но я все же не верю что не возможно запустить без ремоут сессии:)"

Невозможно без _активной_ сессии. Сессия может быть и "вмварной", к примеру. Или "хайпервэшной". Просто вы не сможете запустить в сессии 0 (возможно, ниже висты это и запустится. не в курсе, ставятся ли эмэстестовские агенты ниже висты). Но вряд ли это будет хорошо.

 

У нас практикуют два вида запусков: некоторые запускают ремоутную сессиию, обычно с автологоном. И часто в ремоутной остнастке.

Другие запускают вмварную сессию (автоматически или вручную машинка делается залогоненной и разлоченной, скринсейвер убирается навсегда), тут есть ограничение - хорошо бы отключать VMware Pointing Device (деинсталлирвоать т.е.).

Если же надо запустить в одной сессии под разными пользователями, тут или run as, или powerslim.


(Виталий) #5

 Невозможно без _активной_ сессии. Сессия может быть и "вмварной", к примеру. Или "хайпервэшной". Просто вы не сможете запустить в сессии 0 (возможно, ниже висты это и запустится. не в курсе, ставятся ли эмэстестовские агенты ниже висты). Но вряд ли это будет хорошо.

Не совсем понятно возможно или нет). У нас на физической машине стоит Вин 7 с вышеуплмянутыми MStest agents. Если поставить ХР по запуститься без ремоут сессии?

У нас практикуют два вида запусков: некоторые запускают ремоутную сессиию, обычно с автологоном. И часто в ремоутной остнастке.

Зачем автологин если сессия запускаеться вручную, или я не так понял?

Другие запускают вмварную сессию (автоматически или вручную машинка делается залогоненной и разлоченной, скринсейвер убирается навсегда), тут есть ограничение - хорошо бы отключать VMware Pointing Device (деинсталлирвоать т.е.).

Ни разу не пользовался VMware, есть какой-то мануал как это дело настроить:)?

 


(apetrovskiy) #6

"Не совсем понятно возможно или нет). У нас на физической машине стоит Вин 7 с вышеуплмянутыми MStest agents. Если поставить ХР по запуститься без ремоут сессии?"

Графические (оконные) приложения не запускаются без активной сессии. В "лучшем" случае - запускаются и ждут клика от неизвестно кого (в их сессии никого же нет). Где-то даже есть маленькая страничка на мелкософте про это или на их форуме, речь шла про запуск приложения в шедуленной таске.

"Зачем автологин если сессия запускаеться вручную, или я не так понял?"

У нас она запускается не вручную.

"Ни разу не пользовался VMware, есть какой-то мануал как это дело настроить:)?" Гм, вопрос не прост. :)

У нас это ESXi 4+ или 5. В тестовые машинки зашли вручную и снесли VMware Pointing Device (нет никакой инструкции, просто нашли и снесли). После этого поставили автологон (или каждый раз логон руками) и всё. В случае с автологоном можно запускать машинку/машинки скриптом или командлетами (если есть VSphere) и тест будет работать. 

Можно и вовсе не ставить VMware Tools (на приличном сервере разницы не особо заметно, но тулы уменьшают бесполезные циклы процессора).

 

Некоторые (многие) пользуются автозапуском ремоутной сессии - загнали несколько машин в остнастку (Remote Desktops snap-in), запускаешь остнастку, сессии запускаюстя. Можно наблюдать тест глазами (и даже потрогать руками, если, например, девелопуры опять колданули с контролами).

 


(Виталий) #7

Спасибо! Будем пробывать:)


(darkibot) #8

Мы используем "похожим" образом, есть выделенные машины (Win2008R2/Win7/WinXP), все с АвтоЛогоном, тест агентами (с разными тэгами) и "прикреплены к одному тест контроллеру". Запуск теста выполняется через TestSettings (Remote Launch), там же задаются настройки версии оси, браузера и тп (по тэгам). Вариант №2 - держать машину с Автологоном и "интерактивным билд агентом", но нам это не подошло, т.к. вычислительные мощности необходимые для "тест машин" значительно меньше нежели для "Билд Машин", посему у нас одна билд машина выполняет все собирания и запуски тестов, а тесты выполняются на отдельных машинах.