我一直在经历间歇性超时,这是在Protractor常见问题解答中指责使用$ timeout进行轮询(AKA:waitForAngular超时).我不知道在没有投票的情况下它是否也会失败.对于我的团队来说,因为我们依赖于Angular Material组件,所以它更加轻松.他们在动画交互方面很重要,并且经常使用$ timeout(func,0).这个问题类似于问题#29966301,但侧重于Angular Material和Protractor之间可能存在的问题.我真的很想知道那些大量使用Angular Material和Protractor的人如果遇到这些问题就会处理这些问题.
有趣的是,我没有在Protractor和Angular Material github网站上看到过对彼此功能的任何利用.由于它们都是来自Google同一组的Angular库,@ juliemr和Protractor Gang可以与@ThomasBurleson和Material团队讨论,使用Protractor为Angular Material提供全面的用例和E2E测试以清除这些问题.
我第一次参加E2E考试.我正在尝试消化别人的量角器测试.
问题:有很多,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);
}); …Run Code Online (Sandbox Code Playgroud)