2016-03-30 3 views
4

私は各テストを一時停止したいと思います。 私はこの関数を作成しました:Nightwatch、afterEach、browser.pauseは関数ではありません

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

をしかし、私はテストを実行したとき、私はエラーが発生します。

TypeError: browser.pause is not a function

なぜ?テストでは、browser.pauseは機能しています。

答えて

0

私の親愛なる友人は、「何か」をして休止しなければなりません! (つまり、URLをアサートしてから一時停止してください)

それは動作しますか?

afterEach:機能(ブラウザ){ ブラウザ .assert.urlEquals( 'http://www.google.com') .pause(2000) }、

+0

いいえ、動作しません。 「browser.assert.title( 'Title');」と書いたとき、「未定義のプロパティタイトルを読み込めません。 beforeEachで "browser.pause"を使用すると、すべてが機能します。 – IceManSpy

3

beatfactorが提供する答え、、、afterEachを使用する場合は

When using afterEach you need to use the done callback argument always if you want to use the browser object. That is for backwards compatibility. So you need to do either:

afterEach(browser, done) { 
 
    // ... 
 
done(); 
 
}

0

あなたが行われ、コールバックの引数を使用する必要がありますされますブラウザオブジェクトを使用する場合は常にこれは下位互換性のためです。だから、どちらかを実行する必要があります。つまり

afterEach(browser, done) { 
    // ... 
done(); 
} 

または

afterEach(done) { 
    // ... 
done(); 
} 

は、あなたが書く場合

afterEach(browser) { 
    // ... 
} 

browserは実際にdoneコールバックです。あなたはブラウザに名前を付けましたが、実際にはそうではありません。

関連する問題