Nightwatch测试:将浏览器设置为固定大小

com*_*000 11 testing selenium nightwatch.js e2e-testing

有没有办法确保浏览器不会从初始窗口大小更改.在测试期间点击了几个导致窗口最大化的东西,但我希望它始终保持相同的大小.

Eli*_*lka 20

在你的env配置中一次性设置它(test_settings在nightwatch配置文件下):

"desiredCapabilities": {
    "chromeOptions": {
        "args": [
            "window-size=1280,800"
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,此方法将起作用,因为我们正在设置chrome标志,因此实现可能会有所不同(例如safari没有这样的标志).

对于不支持这些选项的浏览器,最好在globals 钩子中强制调整窗口大小:beforeEach

{
    beforeEach: function (browser, done) {
        browser.resizeWindow(1280, 800, done);
    }
}
Run Code Online (Sandbox Code Playgroud)

阅读nightwatch设置文档,了解全局变量的使用方法.

使用上面的方法,你不必在每个测试中指定它 :)


Nic*_*nec 12

您可以在每次测试之前修复屏幕大小:

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();
  }
}
Run Code Online (Sandbox Code Playgroud)