【问题标题】:Angular app, but protractor finds Angular in in some cases but not othersAngular 应用程序,但量角器在某些情况下会发现 Angular,但在其他情况下不会
【发布时间】:2019-01-29 05:20:54
【问题描述】:

我有一个在 Chrome 中工作的量角器测试,当我在配置文件中添加多功能以涵盖 Chrome 和 Firefox 时,几次 FIrefox 尝试返回“等待量角器与页面同步时出错:”angularJS 可测试性和 angular可测试性未定义。这可能是因为这是一个非角度页面,也可能是因为您的测试涉及客户端导航,这可能会干扰 Protractor 的引导。”

我也收到了 Chrome 中一个页面的消息,我们的开发人员说它是 Angular 中的。

Angular 页面的另一个测试在我输入信息以创建帐户时工作,但是当测试尝试单击服务条款时,它会在 Selenium 服务器启动后立即产生该消息,即使使用 browser.waitForAngularEnabled (错误的);在代码中。将整个部分注释掉后,它再次始终如一地通过。 这是该测试的代码,在尝试调试时去掉了一些其他内容:

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);”或者在它似乎无关紧要之前的漫长睡眠。如果包含服务条款链接点击,则测试返回上述错误。

由于这发生在多个测试中,我该如何在这方面稳定它们?

【问题讨论】:

  • 您能否发布您的配置/代码,以便我们了解您目前的尝试?您能否提高问题的可读性?
  • 如果这还不够,请告诉我。

标签: angularjs angular selenium jasmine protractor


【解决方案1】:

发生错误,因为您想在加载 URL 之前执行对该链接的点击,因为您没有在 it(...) 函数中执行它。

请尝试以下操作:

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();
    });
});

【讨论】:

    猜你喜欢
    • 2010-10-12
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 2014-05-24
    • 1970-01-01
    • 2018-08-27
    相关资源
    最近更新 更多