Скриншоты из теста Selenium имеют небольшие размеры - PullRequest
0 голосов
/ 05 октября 2018

Я использую Jenkins для запуска тестов селена на подчиненном Windows.Windows slave имеет ОС Windows 2016.Для запущенного ведомого экземпляра я использовал плагин ec2 для Jenkins, он использует
winrm протокол для управления нашими узлами.Тест выполнен неплохо, но скриншот имеет разрешение около 1024 * 786 (я думаю).Но сервер имеет разрешение 1920 * 1020.Если перед началом тестов я использовал rdp CONNECT TO SLAVE SERVER, снимок экрана будет в полном размере.Я добавил авто-логин для моего пользователя, который использует winrm через netplwiz.Мне это не помогло.
Также я попытался: 1. Изменить регистр Windows: DefaultSettings.XResolution, DefaultSettings.YResolution на 1902 * 1020;

Помогите мне только тогда, когда я подключусь к своему серверу по протоколу rdp.начать испытания.

ОБНОВЛЕНИЕ (12.10.2018):

    C:\Users\jenkins>powershell -command "Set-DisplayResolution -Width 1920 -Height 1080 -Force" 
    setres will now attempt to apply the following display settings: 
      Width:          1920
      Height:         1080

The settings passed in could not be applied to the graphics device.
init script ran successfully

Хочу отметить, я использую протокол winrm.Я нашел интересную статью https://serverfault.com/questions/803453/windows-server-2012-default-desktop-size

, поэтому, возможно, причина в драйвере дисплея (Hyper-V Video) ...

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

@ Infern0 большое спасибо за вашу помощь.Я решил проблему, когда был добавлен в плагин, который запускает экземпляр ec2 и управляет узлами по протоколу winrm - Пользователь данных:

<script>
 Set-DisplayResolution -Width 1920 -Height 1080 -Force
</script>
<persist>true</persist>
0 голосов
/ 24 октября 2018

Плагины Jenkins нельзя использовать для тестов Selenium в Windows, если вместо разрешения экрана установлено значение 1036 * 660.Потому что плагин работает в неинтерактивном сеансе 0 при использовании WinRm или ssh в качестве методов подключения к подчиненному.

И мы не можем повлиять на эту ситуацию.

Вы можете получить дополнительную информацию в документах Microsoft о функции CreateProcessAsUserA.

Вы можете использовать в качестве примера код из github murrayju /CreateProcessAsUser.

0 голосов
/ 05 октября 2018

Если подчиненный Windows управляется AD, он может быть с нестандартным размером.Когда вы подключитесь к RDP, вам потребуется разрешение вашего ПК.

Поговорите с ИТ-специалистом или человеком, который управляет этой машиной, чтобы эмулировать более высокое разрешение.

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