2016-11-04 46 views
0

在我的量程器腳本中,我在第二個語句(登錄語句後)後調用browser.ignoreSynchronization=false;,但是它在登錄語句之前應用,因爲語句按1> 3> 2的順序執行。下面是我的代碼。強制量角器腳本語句按順序執行

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

Put'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; 
});