是否有办法确保浏览器不会改变初始窗口的大小?在测试过程中,点击一些东西会导致窗口最大化,但我希望它始终保持相同的大小。
在你的env配置(在nightwatch配置文件的test_settings
下)中一次性设置它:
"desiredCapabilities": {
"chromeOptions": {
"args": [
"window-size=1280,800"
]
}
}
请注意,这个方法将工作,因为我们正在设置一个chrome标志,所以实现可能会有所不同(例如safari没有这样的标志)。
对于不支持这些选项的浏览器,最好在globalsbeforeEach
钩子:
中强制调整窗口大小。{
beforeEach: function (browser, done) {
browser.resizeWindow(1280, 800, done);
}
}
阅读一下nightwatch Settings文档,看看全局变量是如何使用的。
使用上面的方法,不需要在每个测试中指定:)您可以在每次测试之前像这样固定屏幕大小:
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