【问题标题】:Protractor js test is unable to submit angular formProtractor js测试无法提交角度形式
【发布时间】:2016-12-19 03:44:05
【问题描述】:

我正在使用量角器测试为我的 angularjs 应用程序编写测试。测试通过 sendKey() 获取表单元素输入值并尝试单击登录按钮以查看它是否被重定向到正确的页面。

  describe('Radframe registration test', function() {
  it('should register a new user', function() {
    browser.get('http://localhost:3000/accounts/register');
    element(by.id('id_first_name')).sendKeys("Name",protractor.Key.NULL);
    element(by.id('id_last_name')).sendKeys("Last name",protractor.Key.NULL);
    var job_title = element(by.id('id_job_title')).sendKeys("job title",protractor.Key.NULL);
    element(by.id('id_phone_number')).sendKeys("34894738044",protractor.Key.NULL);
    element(by.id('id_email')).sendKeys("test@test.com",protractor.Key.NULL);
    element(by.id('id_password1')).sendKeys("password",protractor.Key.NULL);
    var registerButton = element(by.buttonText('Register Account'));
    registerButton.click();
    expect(registerButton.getText()).toBe('Register Account');
  });
});

问题是我的 html 中有角度脏检查。我无法单击注册按钮,因为即使在通过量角器输入值之后,表单也是无效的(具有 ng-pristine、ng-empty 和 ng-untouched 类)。

<input class="form-control ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required" id="id_email" name="email" ng-focus="emailFocused()" ng-model="email" ng-model-options="{debounce: { &quot;default&quot;: 300, &quot;blur&quot;: 0 }, updateOn: &quot;default keyup mousedown&quot; }" placeholder="Company Email *" required="required" type="email">. 

我应该做些什么不同的事情才能提交表单?

【问题讨论】:

    标签: javascript angularjs validation protractor automated-tests


    【解决方案1】:

    你确定你点击的是registerButton吗?

    var registerButton = element(by.buttonText('Register Account'));
    var EC = protractor.ExpectedConditions;
    browser.wait(EC.elementToBeClickable(registerButton),5000);
    registerButton.click();
    expect(registerButton.getText()).toBe('Register Account');
    

    等待脏检查完成,因为在这种情况下,如果需要,DOM 会更新。

    【讨论】:

    • 我已经编辑了那行。我仍然有同样的问题。有没有办法绕过角度脏检查类?
    猜你喜欢
    • 2015-04-29
    • 2017-09-17
    • 1970-01-01
    • 2018-10-26
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多