2016-04-19 1 views
2

chai.jsアサーションbddライブラリNightwatch.jsを使用したいと思います。夜間にchai.jsの期待を連鎖させる方法ですか?

var expect = require('chai').expect 

module.exports = { 
    'Login' : function (browser) { 
    var login = browser.page.login() 
    login.expect.element('@login').to.not.be.enabled 
    login.setValue('@email', '[email protected]') 
    login.setValue('@password', 'pass') 
    login.expect.element('@login').to.be.enabled 
    login.click('@login') 
    login.end() 
    } 
} 

しかし:私のコードは次のようになります。 Nightwatchは、browser.setValue('...', '...').click('...').end()のようなメソッドをチェーン化できるように、独自のメソッドに非常に流暢なインターフェイスを提供します。

質問:私はchaijsを使用している場合、メソッドの連鎖を達成できますか?

説明、私が欲しいもの:

module.exports = { 
    'Login' : function (browser) { 
    var login = browser.page.login() 

    login.expect.element('@login').to.not.be.enabled 
    .setValue('@email', '[email protected]') 
    .setValue('@password', 'pass') 
    .expect.element('@login').to.be.enabled 
    .click('@login') 
    .end() 
    } 
} 

は、私は上記のコードのようなルックスに私のテストを行うことができますか?

module.exports = { 
'Login' : function (browser) { 
    var login = browser.page.login() 

    login.expect.element('@login').to.not.be.enabled 
    login 
     .setValue('@email', '[email protected]') 
     .setValue('@password', 'pass') 
     .expect.element('@login').to.be.enabled 
    login  
     .click('@login') 
    .end() 
    } 
} 

これはあなたが持っている、ページオブジェクト内のカスタム関数でテストに.expect(...)を使用する、またはときに起こる:あなたはこれをしなければならない複数のを期待を使用するためには

答えて

3

再度ブラウザ/クライアント/ページオブジェクトvarを使用して連鎖を再開します。

関連する問題