我有一个适用于Chrome的量角器测试,当我向配置文件中添加多功能以覆盖Chrome和Firefox时,几次FIrefox尝试返回“在等待量角器与页面同步时出错:” angularJS可测试性和角度可测试性是不确定的。这可能是因为这是一个非角度的页面,或者是因为您的测试涉及客户端导航,这可能会干扰量角器的引导程序。”
我也在开发人员所说的Angular中的IS页面中看到此消息。
在我输入信息进行帐户创建时,对Angular页面进行了另一项测试,但是当该测试试图单击“服务条款”时,即使在使用browser.waitForAngularEnabled的情况下,它也会在Selenium Server启动后立即显示该消息。 (假);在代码中。在整个部分都被注释掉之后,它再次一致地通过。 这是该测试的代码,除去了其他一些尝试调试的东西:
describe('Profile Sign up with email', function() {
it('should load profile signup page', function() {
browser.get('https://the_url_i_need.com');
});
it('should select Sign Up', function() {
element(by.css('label.ng-isolate-scope:nth-child(4) > span:nth- child(1)')).click();
});
it ('should make sure email address is the selected form of sign up', function() {
element(by.id('Radio1')).click();
});
browser.sleep(7000);
element(by.linkText('Terms of Service')).click();
});
现在,如果是“ element(by.linkText('服务条款'))。click();”被注释掉,测试很好;是否具有“ browser.waitForAngularEnabled(false);”或在看起来无关紧要之前漫长的睡眠。如果包含服务条款链接单击,则测试返回上面的错误。
既然这是在多个测试中发生的,我如何在这方面稳定它们?
答案 0 :(得分:0)
发生错误是因为您不希望在it(...)
函数中执行链接,而是想在加载URL之前执行对该链接的单击。
请尝试以下操作:
describe('Profile Sign up with email', function() {
...
it ('should click successfully on Terms of Service', function() {
browser.sleep(7000);
element(by.linkText('Terms of Service')).click();
});
});