量角器无法找到id为password的gmail输入

时间:2016-03-01 18:44:58

标签: javascript angularjs protractor

我试图设置Protractor来测试我的应用程序,但它需要通过gmail进行身份验证,而且我一直试图登录:

describe('Vivace Home page', function() {

  var hasClass = function (element, cls) {
    return element.getAttribute('class').then(function (classes) {
      return classes.split(' ').indexOf(cls) !== -1;
    });
  };

  beforeEach(function() {

    browser.ignoreSynchronization = true;
    browser.get('/');

    var emailInput = browser.driver.findElement(by.id('Email'));
    emailInput.sendKeys('paulG@gmail.com')

    var nextButton = browser.driver.findElement(by.id('next'));

    nextButton.click().then(function() {
      browser.pause();
      var passwordInput = browser.driver.findElement(by.id('Passwd'));
      console.log(passwordInput);
      passwordInput.sendKeys('11111');
      // var signInButton = browser.driver.findElement(by.id('signIn'));
    })
  });

  it('should have the correct title', function() {
    expect(browser.getTitle()).toEqual('InRhythm - Vivace');
  });
});

我可以看到Protractor打开gmail页面,输入电子邮件并点击下一个按钮,当我做浏览器时。因为我实际上可以看到输入的密码为" Passwd"就在检查员的页面上,但我无法访问它以完成我的登录。

删除浏览器时出现此错误。暂停

失败:没有这样的元素:无法找到元素:{"方法":" id","选择器":" Passwd" }

1 个答案:

答案 0 :(得分:2)

等待become visible

var EC = protractor.ExpectedConditions;
var passwordInput = element(by.id('Passwd'));

browser.wait(EC.visibilityOf(passwordInput), 5000);
passwordInput.sendKeys('11111');