Есть ли способ гарантировать, что браузер не изменится по сравнению с первоначальным размером окна. Есть несколько вещей, которые щелкают во время тестирования, что приводит к максимальному увеличению окна, но я хотел бы, чтобы оно оставалось одинаковым по размеру.
Тестирование Nightwatch: установить браузер на фиксированный размер
Ответы (3)
настройте его раз и навсегда в конфигурации вашей среды (под test_settings
в файле конфигурации nightwatch):
"desiredCapabilities": {
"chromeOptions": {
"args": [
"window-size=1280,800"
]
}
}
обратите внимание, что этот метод будет работать, потому что мы устанавливаем хромированный флаг, поэтому реализация может отличаться (например, в сафари нет таких флагов).
для браузеров, которые не поддерживают эти параметры, лучше изменить размер окна обязательно в глобальные beforeEach
ловушки:
{
beforeEach: function (browser, done) {
browser.resizeWindow(1280, 800, done);
}
}
прочитайте документы по настройкам ночного дозора, чтобы узнать, как используются глобальные переменные.
используя описанные выше методы, вам не нужно указывать его в каждом тесте :)
browser.resizeWindow(1280, 800, done)
? вы правы, я обновил ответ ..
- person Eliran Malka; 27.01.2017
Вы можете исправить размер экрана перед каждым тестом следующим образом:
module.exports = {
tags: ['myTest'],
before : function (browser) {
browser.resizeWindow(800, 600);
},
'Test #1' : function (browser) {
return browser
.url('http://localhost/test1')
.waitForElementVisible('body', 2000);
},
'Test #2' : function (browser) {
return browser
.url('http://localhost/test2')
.waitForElementVisible('body', 2000);
},
after : function (browser) {
browser.end();
}
}
вот исправление Firefox, они должны одобрить pr, и оно будет работать, https://github.com/nightwatchjs/nightwatch/pull/2169