我想暂停每次测试。 我创建了这个功能:
afterEach:function(browser){
browser.pause(2000);
},
但是当我运行测试时,我会收到错误:
TypeError:browser.pause不是函数
为什么?在测试中,browser.pause是函数。
答案 0 :(得分:4)
beatfactor在linked GitHub issue上提供的答案是
使用afterEach时,如果要使用浏览器对象,则需要始终使用done回调参数。这是为了向后兼容。所以你需要做任何一件事:
afterEach(browser, done) {
// ...
done();
}

答案 1 :(得分:2)
我已经在GitHub上写了问题并且我已经找到了解决方案:https://github.com/nightwatchjs/nightwatch/issues/921
RESOLVE:
使用
afterEach(done) {
// ...
done();
}
而不是
afterEach(browser, done) {
// ...
done();
}
答案 2 :(得分:0)
使用afterEach时,如果要使用浏览器对象,则需要始终使用done回调参数。这是为了向后兼容。所以你需要做任何一件事:
afterEach(browser, done) {
// ...
done();
}
或
afterEach(done) {
// ...
done();
}
换句话说,如果你写
afterEach(browser) {
// ...
}
browser
实际上是done
回调。您已将其命名为浏览器,但实际上并非如此。
答案 3 :(得分:-2)
我亲爱的朋友,你必须做的事情""然后暂停! (即断言网址,然后暂停!)
有效吗?
afterEach:功能(浏览器){ 浏览器 .assert.urlEquals(' http://www.google.com') .pause(2000) },