Nightwatch,afterEach,browser.pause不是函数

时间:2016-03-30 13:01:01

标签: nightwatch.js

我想暂停每次测试。 我创建了这个功能:

afterEach:function(browser){
   browser.pause(2000);
},

但是当我运行测试时,我会收到错误:

  

TypeError:browser.pause不是函数

为什么?在测试中,browser.pause是函数。

4 个答案:

答案 0 :(得分:4)

beatfactorlinked 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) },