我是角度和量角器的新手。我们使用量角器进行功能测试并与jenkins集成。
问题
在某些屏幕中,我们使用ng-toast
来显示烤面包机消息(主要用于服务器响应消息,如“保存文件”等)。但量角器无法捕获这些消息,因为它将等待所有角度超时(包括烤面包机)超时)完成。显示错误:
Timed out waiting for Protractor to synchronize with the page after 11 seconds.
我也尝试设置ignoreSynchronization
。
如何解决这个问题。我真的被困在这个..
答案 0 :(得分:2)
经过长时间搜索谷歌我得到了答案。我们可以在需要等待烤面包机消息的测试案例中使用browser.wait
的承诺。
.....
browser.wait(function() {
var deferred = protractor.promise.defer();
getToaster().then(function(){
deferred.fulfill(true);
expect(getToaster().isDisplayed()).toBe(true);//and other assertions
});
return deferred.promise;
});
.....
这在blog中有详细描述
还可以找到有关protractor.promise
的更多详细信息here
或者我以另一种方式做到了:
...
browser.manage().timeouts().implicitlyWait(10000);//set timeout for element
expect(toaster.getToaster().isDisplayed()).toBe(true);
browser.manage().timeouts().implicitlyWait(1);//reset
....
但是,量角器的做法是browser.wait
ExpectedCondition
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"/>
,protractor api中包含自定义条件。我正在使用这种明确的等待方法。