По какой-то причине, когда я запускаю свои тесты на работе, браузер развернут, но когда я запускаю их дома, он открывает только окно браузера шириной около 50%. Это вызывает некоторые несоответствия с прокруткой вниз и т. Д., Поэтому в идеале я бы хотел, чтобы он открывал окно браузера того же размера на каждой машине, на которой выполняются тесты. Как лучше всего это сделать? (Я нашел ответы для других языков, но не смог адаптировать их к javascript)
Добавление
browser.executeScript('window.moveTo(0,0);'+
'window.resizeTo(screen.width, screen.height);');
ничего не делает (видимо window.moveTo
и window.resizeTo
хром не поддерживает).
window.moveTo
иwindow.scrollTo
они определенно поддерживаются Chrome.window.moveTo
иwindow.resizeTo
. У меня он отлично работает в Chrome. Я не знаю, можно ли изменить размер текущего окна с консоли в Chrome, но тот факт, чтоresizeTo
метод там доступен, указывает на то, что Chrome поддерживает его.Ответы:
Вы можете установить размер браузера по умолчанию, запустив:
Чтобы развернуть окно браузера, запустите:
Чтобы установить положение бега:
Если вы получите ошибку:
Источник: https://sites.google.com/a/chromium.org/chromedriver/help/operation-not-supported-when-using-remote-debugging
источник
browser.driver.manage().window().maximize();
protractor.conf.js
файлаonPrepare
.browser.driver.manage().window().maximize();
самом деле не увеличивает окно для меня. У меня просто окно чуть больше. Я просто указываю ширину и высоту с помощьюsetSize()
методаВы также можете использовать свой,
config.js
чтобы установить размер окна:источник
Если предпочтительный метод:
не работает для вас (например, запуск тестов Protractor в Xvfb), тогда вы также можете развернуть окно таким образом (protractor.conf.js):
Версия TypeScript:
источник
Я просто добавил приведенный ниже код в свой файл protractor.conf.js, и он работал нормально.
Какую цель в вашем ответе служат setTimeout и executeScript? Я изо всех сил пытаюсь найти лучшие практики в документации по транспортиру ...
На мой взгляд, использование метода maximize () напрямую - плохая идея и не должно быть предпочтительным методом, поскольку он не будет устанавливать одинаковый размер на каждой машине, где выполняются тесты, и может нарушить адаптивное поведение.
источник
В Selenium 4 (Protractor 6)
setRect
заменяетsetSize
иsetPosition
Например,
источник
В файле Protractor.conf.js добавьте следующую конфигурацию
возможности: {'browserName': 'chrome', chromeOptions: {args: ['start-maximized']}}
источник
Измените файл config.js, как показано ниже.
источник
Добавьте ниже код, это увеличит окно браузера
источник