使用browser.url()
(http://nightwatchjs.org/api/#url)进行导航似乎导致WebDriver客户端等到页面完全加载 - 但是我想在此之前做出断言。
"Shows splash screen for a few seconds": function(client) {
client
.url(client.testURL)
// at this point, the splash has already come and gone, so
// this next command times out
.waitForElementVisible('#splash img', 10000)
.waitForElementNotVisible('#splash', 10000);
},
这可能吗?我认为我唯一的另一种选择是在测试场景中禁用启动。
我在Firefox v45上运行这些测试。
答案 0 :(得分:1)
您可以通过设置Firefox配置文件首选项来执行此操作,如下所示
https://github.com/nightwatchjs/nightwatch/issues/748
您需要设置的首选项webdriver.load.strategy
为unstable
。但这意味着等待页面加载现在是您的所有业务
var FirefoxProfile = require('firefox-profile');
function setProfile(browser, profile, callback) {
profile.encoded(function (encodedProfile) {
browser.options.desiredCapabilities['firefox_profile'] = encodedProfile;
callback();
});
}
function setFirefoxProfile(browser, done) {
var profile = new FirefoxProfile();
profile.setPreference('webdriver.load.strategy', 'unstable');
setProfile(browser, profile, done);
}
// and in my test module
before: function (browser, done) {
setFirefoxProfile(browser, done);
}