Тестирование Nightwatch: установить браузер на фиксированный размер

Есть ли способ гарантировать, что браузер не изменится по сравнению с первоначальным размером окна. Есть несколько вещей, которые щелкают во время тестирования, что приводит к максимальному увеличению окна, но я хотел бы, чтобы оно оставалось одинаковым по размеру.


person compsci45000    schedule 06.06.2015    source источник


Ответы (3)


настройте его раз и навсегда в конфигурации вашей среды (под test_settings в файле конфигурации nightwatch):

"desiredCapabilities": {
    "chromeOptions": {
        "args": [
            "window-size=1280,800"
        ]
    }
}

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

для браузеров, которые не поддерживают эти параметры, лучше изменить размер окна обязательно в глобальные beforeEach ловушки:

{
    beforeEach: function (browser, done) {
        browser.resizeWindow(1280, 800, done);
    }
}

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

используя описанные выше методы, вам не нужно указывать его в каждом тесте :)

person Eliran Malka    schedule 02.01.2017
comment
ты хотел сказать browser.resizeWindow(1280, 800, done)? вы правы, я обновил ответ .. - person Eliran Malka; 27.01.2017
comment
Я сделал - упс! Хорошо, что вы обновили его. Ваше здоровье. Удалил исходный комментарий, чтобы не путать людей неправильным предложением. См. комментарий @Eliran Makla - person GrayedFox; 30.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();
  }
}
person Nicolas Pennec    schedule 08.06.2015

вот исправление Firefox, они должны одобрить pr, и оно будет работать, https://github.com/nightwatchjs/nightwatch/pull/2169

person Ilan    schedule 06.08.2019