Pазрешение экрана на удаленной машине под сессией из под которой запускаются тесты

Вы используете RemoteWebDriver? Или это какой-нибудь слейв / плагины селениума? С тим сити не работал, говорю по примеру Jenkins.

нет

нет

используется обычный WebDriver
билд агент, после сборки инсталлера, через MSBuild запускает тесты из сборки (mstest /testcontainer:%dll_file_name%)

Ради эксперимента, поднимите нод на вашем сервере и попробуйте запустить банальный гугл тест из IDE с RemoteWebDriver + хабом на вашей локальной тачке, без всяких билд агентов.

У меня похожая проблема. Только я запускаю автотесты в VS TM. При подключении к тестовой машине одно разрешение, а когда тесты прогоняются, то разрешение становится другим.

Не работал с TeamCity.

Но на форумах рекомендуют следующее решение:

On the agents where we want to run GUI tests, we run TeamCity in console mode. Simply run agent.bat (in the TC bin folder) with the parameter start (or stop to stop the agent). Of course, you’ll have to leave a desktop session open for this to work properly.

Источник: https://groups.google.com/d/msg/webdriver/GYvIL4Qg5NU/Fwp-QUj13DEJ

Решили проблему то? Сейчас именно с таким же траблом столкнулся :slight_smile:

нет (т.е. у нас в виду специфики - нельзя было заранить агент не как сервис)
развернули для автотестов дженкинс - там если агент запущен не как сервис, такой проблемы нет

а запустить агент Дженкинса не как сервис - как? )

Когда-то давно сталкивался с аналогичной проблемой.
На дженкинсе стоит плагин для виртуального монитора: Xvfb - разрешение 1920х1080.
В общем, скриншоты на выходе были явно меньше указанного размера.
Таблетку вычитал где-то на форумах, мне помогла:
driver.manage().window().fullscreen();
driver.manage().window().maximize();
не отрабатываю корректно при работе с Xvfb (или вообще с виртуальным мониторм, точно не моиню) - и ето “старая и всем известная бага вебдрайвера”, как было сказано на форуме.

Рабочая альтернатива:
Dimension dimension = new Dimension(1920, 1080);
generalWebDriver.manage().window().setSize(dimension);

1 лайк

https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines
до момента:
If you want the service to run on start-up of the slave machine do the following (Windows only directions):

Всем привет. Я - Test Engineer и никогда не имела дела с TFS билдами. У меня возникла та же проблема - git VSTS билд агент ранится как сервис и при запуске UI тестов через RDP тесты запускаются без UI.
Теоретически знаю, что билд агент должен быть запущен не как вин сервис, а как апликейшн на билд машине. Но как запустить тесты из-под сессии? Подскажите, плиз, очень нужна ваша помощь.

Что значит запускаются без UI?
Чтобы тесты бегали на удаленки (один из вариантов):
Удаляете с удаленок Test Agent и добавляете в билд шаг Deploy TestAgent. Дальше шаг Windows Machine file copy где будете копировать построеный солюшн на дулаенку. А дальше шаг Run Functional Tests

Та же проблема. В тесте указано разрешение окна браузера 1920x1080, но тест на агенте запускается под дефолтным минимальным разрешением. Следовательно мы должны задавать в параметрах агента под каким разрешением ему запускать rdp сессию. Вот где это делается я тоже не могу найти. Пока вопрос актуальный.

Нашел причину и решение проблемы.
Решение №1:
Мы не можем никак влиять на разрешение экрана если имеем дело с виртуальной машиной.
Разрешение экрана в таком случае задается в настройках виртуалки (в некоторых нужно настраивать 3D виртуализацию).
Решение №2:
Если не помогает решение с настройкой параметров в виртуалке, то под учеткой агента нужно зайти под RDP с разрешением, которое нужно, тогда клиент наследует последнее разрешение под которым подключались, но при этом RDP сессия должна оставаться активной. Решение костыльное, но работает.
Решение №3
Если работаете без виртуалки, то разрешение экрана в системе можно задать в build steps PowerShell командой - Set-DisplayResolution -Width 1920 -Height 1080 -Force

1 лайк

у меня тоже агент висит как windows сервис. … можно ли при таких условиях поменять разрешение экрана?

как объяснено здесь

лучше всего про это забыть от слова совсем:

you should regard the difficulties involved as a signal to review whether or not your proposed approach is the best solution to whatever your underlying problem is.

Вот здесь я описал решение как можно обойти данную проблему БЕЗ необходимости занимать лицензию на сервере и запуском от обычного юзера http://www.voip-lab.ru/screen-resolution-in-selenium-tests-in-teamcity/

А ещё лучше запускать тесты в контейнерах, тогда вообще по-барабану что от чего запущено)

В те времена докер еще небыл мастхев для автотестов

Решение №3 помогло! Спасибо!