2016-07-07 50 views
0

我試圖用量角器角頁面上寫一些簡單的造型測試,我測試的頁面不僅可以正常瀏覽,完成Facebook登錄後。 問題似乎是,當登錄嘗試仍在進行時,測試繼續運行,因此測試失敗,因爲登錄尚未實際發生,樣式未正確加載。 不能(根據當前的理解)使用onPrepare(),因爲這個功能在大多數測試頁面中不會發生。 嘗試使用beforeAll(),甚至將功能放入它自己的'it',也會發生同樣的問題。 問題不在於切換窗口。 當前狀態 -量角器 - Facebook登錄有窗把手開關 - 登錄之前運行測試完成

it('...', function() { 

    facebookbutton.click(); 
    browser.getAllWindowHandles().then(function(handles){ 

     browser.ignoreSynchronization = true; 
     browser.switchTo().window(handles[1]); 

     facebookemail.sendKeys('user'); 
     facebookpass.sendKeys('pass'); 
     facebooklogin.click(); 

     browser.ignoreSynchronization = false; 
     browser.switchTo().window(handles[0]); 
    }); 
}); 

describe('Styling Tests --', function() { ... 

回答

1

寫的回調函數隨後的測試邏輯實點擊登錄按鈕之後。它會工作。

Code Snippet: 
    it('...', function() { 

     facebookbutton.click(); 
     browser.getAllWindowHandles().then(function(handles){ 

     browser.ignoreSynchronization = true; 
     browser.switchTo().window(handles[1]); 

     facebookemail.sendKeys('user'); 
     facebookpass.sendKeys('pass'); 
     /*use callback function after clicking login button*/ 
     facebooklogin.click().then(function(){ 
      browser.ignoreSynchronization = false; 
      browser.switchTo().window(handles[0]); 
     }); 
    }); 
    });