2014-12-02 47 views
18

我在E2E測試中第一次運行。我試圖消化別人的量角器測試。爲什麼我必須在編寫量角器測試時使用browser.sleep

問題:有很多browser.driver.sleep這似乎很脆弱。

目標:不使用browser.driver.sleep

問題:什麼是browser.driver.sleep更好的方法?像承諾之類的不那麼脆弱的東西,或者我不知道大聲笑的東西?

var config = require('../../protractor.conf.js').config; 
describe('this Homepage Body Tests', function(){ 
browser.driver.get(config.homepageUrl); 

it("should open find a clinic page", function(){ 
    // page loads :: want to fix this random wait interval 
    browser.driver.sleep(2000); 
    browser.ignoreSynchronization = true; 

    var string = 'clinic'; 
    var main = '.search-large-text'; 
    var link = element(by.cssContainingText('.submenu li a', string)); 

    link.click().then(function() { 
    // page reloads :: want to fix this random wait interval 
    browser.driver.sleep(3000); 
    var title = element(by.cssContainingText(main, string)); 
    expect(title.getText()).toBe(string); 
    }); 
}); 
}); 

回答

11

由於存在ignoreSynchronization接通時,則不能使用waitForAngular(),這將是在一個角度現場測試的情況下的解決方案。

更好的解決方案在這裏是設置一個頁面加載超時

+0

是的,不幸的是,當我們把我們的網站完全轉向角度的時候,主頁仍然在軌道上。 – 2014-12-02 02:13:27

相關問題