2016-09-14 14 views
-1

フローを続けるために、あるテスト仕様を別のテスト仕様に渡すにはどうすればよいでしょうか。たとえば、成功したログイン仕様があり、サイトにログインし、それが成功したかどうかを返します。どのように私はあなたがログインする必要がある私のチェックアウトプロセスをテストする仕様にその仕様を渡すことができますか?私は私が別の仕様では、このスペックを呼び出すしたいと思い、このようなテスト仕様を別のテスト仕様に渡す

var LoginPage = require('../pageObjects/login.page'); 

describe('login form', function() { 

    it('page title should be Sign In', function() { 
    LoginPage.open(); 
    var title = LoginPage.title(); 
    expect(title).to.contain('Sign In'); 
    }) 

    it('should grant access with creds', function() { 
    LoginPage.open(); 
    LoginPage.username.setValue('[email protected]'); 
    LoginPage.password.setValue('11111111'); 
    LoginPage.submit(); 
    var title = LoginPage.title() 
    expect(title).to.contain('Your username is invalid!'); 
    }); 
}); 

としてスペックを持っているテスト

を実行するために、モカ、およびWebdriver.IOを使用しています。

+0

内の各itsの前に実行され、すべてのits前に実行されます例えば、 "page object" * paradigmを見てください)。 – jonrsharpe

+0

ここに記載されているページオブジェクトを意味しますか? http://martinfowler.com/bliki/PageObject.html私はこのパラダイムを使用してスクリプト内のhtml要素の実際の取得を取り除いていますが、テスト間でどのように署名付きのアプリケーション状態を転送すべきかという私の質問には答えません。 –

答えて

0

あなたは何の仕様も渡す必要はありません。何をする必要が

hereを説明するようにあなたの必要性に応じて、

before(function() { 
    // runs before all tests in this block 
    }); 

または

beforeEach(function() { 
    // runs before each test in this block 
    }); 

にログインし、アクセス仕様を記述する必要がありますモカフックを使用しています。あなたがbefore(function()を使用している場合は、beforeEach(function()を使用している場合は、そのコードを使用すると、ヘルパー関数やメソッド(に共有ロジックを抽出し、あなたが仕様を渡さない、それはあなたのdescribe