4

Я использую Selenium 3.01 на windows server 2012 R2. Тесты выполняются удаленно через webdriver.Selenium - изменение разрешения при обслуживании узла

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

При запуске узла как процесса во время входа в систему все хорошо, потому что разрешение намного лучше.

Я вижу большую разницу при принятии снимков при отказе.

Как изменить разрешение?

Driver.set_windowsize(x,y) 

Или

Driver.maximize_window() 

не работают, потому что разрешение сервера меньше.

Любые идеи? Спасибо

+0

могли бы вы предоставить неудачи вы получаете в тестах, как результат - они «элемент не видно» ошибки? –

+0

Да, это ошибки. Сайт требует минимального разрешения. Это не полностью отзывно. –

+0

ОК. У меня была эта проблема, и единственным обходным решением, которое мне удалось найти, было изменить то, как селен взаимодействует с элементами, используя scrollIntoView. Я не думаю, что селен может контролировать разрешение. –

ответ

3

Я решил проблему. Я использую виртуальную машину через VMware ESX.

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

Чтобы максимально увеличить разрешение, я следил за этим VMware KB.

Теперь измените разрешение по умолчанию путем редактирования значений реестра:

  1. Перейдите:

    HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{Address of primary video card}\0000\

  2. Найти DefaultSettings.XResolution Это ваша ось X. Отредактируйте как десятичное число так, как вы хотите. IE 1152.

  3. Найти DefaultSettings.YResolution. Это ваша ось Y. Отредактируйте как десятичное число так, как вы хотите. IE 863.

  4. Перезапустите, и все готово.

Кроме того, убедитесь, что Selenium node работает как локальная система с Allow service to interact with desktop.

Теперь вы можете изменить разрешение окна хром с помощью кода:

Driver.set_windowsize(x,y) 
0

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

  • Подключение к удаленной машине
  • Start узел из командной строки
  • Закрыть соединение (не выходя из системы, но, нажав «X» кнопки)

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

+0

Это обходной путь, но я ищу решение, которое будет работать с сервисом. Спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^