web-dev-qa-db-ja.com

ナイトウォッチのテスト:ブラウザを固定サイズに設定します

ブラウザが初期ウィンドウサイズから変更されないようにする方法はありますか?テスト中にクリックされてウィンドウが最大化されるものがいくつかありますが、全体を通して同じサイズを維持したいと思います。

11
compsci45000

env構成で一度だけ設定します( test_settings ナイトウォッチ設定ファイル内):

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

chromeフラグを設定しているため、このメソッドは機能することに注意してください。そのため、実装が異なる場合があります(たとえば、safariにはそのようなフラグがありません)。

これらのオプションをサポートしていないブラウザの場合は、ウィンドウのサイズを変更することをお勧めします 命令型globals beforeEach hook::

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

nightwatch settings docs を読んで、グローバルがどのように使用されているかを確認してください。

上記のメソッドを使用すると、各テストで指定する必要はありません:)

20
Eliran Malka

次のように、各テストの前に画面サイズを修正できます。

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();
  }
}
12
Nicolas Pennec

これが彼らがPRを承認する必要があるFirefoxの修正です、そしてそれは機能します、 https://github.com/nightwatchjs/nightwatch/pull/2169

0
Ilan