angularjs – 量角器测试和UI路由器不等待解析
我们有一个使用UI路由器构建的应用程序,其中包含一些路由解析.我们试图对它运行一些量角器测试,但似乎默认的browser.get()不等待ui路由器完全解析
这是我们的简单测试 describe('coach pages',function() { beforeEach(function() { browser.get("/"); }); it('should have the right title',function() { expect(browser.getTitle()).toBe('The Title'); }); it('should have a heading',function() { expect(element(by.css('#test')).isPresent()).toBeTruthy(); }); }); 第一个通过,它找到页面标题,但标题不是 如果我们加上这个 browser.sleep(1000); 就在第二个期望它通过之前? 量角器是否应该等待结果默认完成?是与UI路由器的某种冲突? 值得补充的是,任何没有解决它的路线似乎都按预期等待它,它只影响附加了解决方案的路线? 解决方法
这是timeouts from protractor的报价 因此,如果您希望量角器等待方法完成,请使用$timeout包装它. $timeout默认时间为0秒.但是,您确实需要实现$timeout调用$apply,这将启动摘要周期.这可能具有性能影响.你只需要自己尝试一下. 更新 旧答案不是最好的方法,与我后来使用的方法完全不同. 等待页面加载的最可靠方法是等待在该页面上显示或呈现元素.从这个意义上说,这更可靠. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |