2016-11-04 13 views
0

私の分度器スクリプトでは、第2ステートメント(ログインステートメント後)の後にbrowser.ignoreSynchronization=false;を呼び出していますが、ステートメントが1> 3> 2で実行されるため、loginステートメントの前に適用されます。以下は私のコードです。順番に実行する分度器スクリプトステートメント

browser.ignoreSynchronization= true;//1 
    loginPage.login(loginData.free.username,loginData.free.password);//2 
    browser.ignoreSynchronization=false;//3 

もし私がprotractor.promise.controlFlow()を使用していると、それはうまくいきます。しかし、分度器スクリプトをprotractor.promise.controlFlow()を使わずに順番に実行させる方法。

browser.ignoreSynchronization= true; 
var flow = protractor.promise.controlFlow(); 
    flow.execute(function() { 
     loginPage.login(loginData.free.username,loginData.free.password);    
     browser.ignoreSynchronization=false; 
    } 
+0

VAR流量= protractor.promise.controlFlow()。これは使用するために必要ですか? –

+0

@SureshSalloju私は 'var flow = protractor.promise.controlFlow();を使用しない場合、' window.angularが定義されていません。 'エラー – Jlearner

+1

browser.ignoreSynchronization = true;この文はbeforeAll()メソッドで使用できますか?jasmineを使用している場合はこれを宣言してください。browser.get()メソッドを呼び出す前に宣言する必要があります –

答えて

2

'browser.ignoreSynchronization = true;'を入力してください。あなたのジャスミンを使用している場合、beforeAll()メソッドの文。 browser.get()を呼び出す前に宣言し、 'browser.ignoreSynchronization = false;'を宣言する必要があります。ログイン操作後のステートメント

コードスニペット:

beforeAll(function(){ 
    browser.ignoreSynchronization= true; 
    browser.get('url'); 
    }); 

it('test logic',function(){ 
    loginPage.login(loginData.free.username,loginData.free.password); 
    browser.ignoreSynchronization=false; 
}); 
関連する問題