在aurelia js應用程序中使用量角器測試端到端(e2e)測試時避免使用browser.sleep的最佳方法是什麼?避免使用browser.sleep與量角器和aurelia框架e2e測試
或者是否有任何其他框架更適合eurea e2e測試?
PS:我用奧裏利亞CLI和打字稿
感謝
在aurelia js應用程序中使用量角器測試端到端(e2e)測試時避免使用browser.sleep的最佳方法是什麼?避免使用browser.sleep與量角器和aurelia框架e2e測試
或者是否有任何其他框架更適合eurea e2e測試?
PS:我用奧裏利亞CLI和打字稿
感謝
使用瀏覽器的睡眠從來都不是一個好主意,做的最好的事情是使用再發揮作用這樣做等因素,採取看下面的示例代碼。
element(by.xpath("xpath")).click().then(function(){
var list = element(by.id('id'));
var until = protractor.ExpectedConditions;
browser.wait(until.presenceOf(list), 80000, 'Message: took too long');
});
有時候browser.sleep是不可避免的,但是你想要嘗試並儘可能地更聰明。
下面是一個例子函數,其中,如果被調用時,它會等待與類「烤麪包的消息」的元素最多30秒:
var WaitForToast = function(timeout = 30000) {
var el = element(by.css('.toast-message'));
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(el), timeout).then(function(){
return;
});
}
相反的情況也是可能的 - 等待東西消失。在這個例子中,代碼等待最多15秒,類「模態微調」的元素消失:
var WaitForModalSpinner = function(timeout = 15000) {
var el = element(by.css('.modal-spinner'));
var EC = protractor.ExpectedConditions;
browser.wait(EC.not(EC.presenceOf(el)), timeout).then(function(){
return;
});
};
我認爲你是在與量角器http://博客的正確軌道。 aurelia.io/2015/02/16/end-to-end-testing-with-aurelia-and-protractor/ – RobPethi
好的;但如何避免使用browser.sleep()? –
你能舉一個關於你確切的問題是什麼的代碼示例。它可能在app/testscript中,所以目前還不清楚如何回答你的問題。 – wswebcreation