我正在尝试设置 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 页面,输入电子邮件并单击下一步按钮,当我执行 browser.pause 时,我实际上可以在带有检查器的页面上看到 ID 为“Passwd”的密码输入但我无法访问它来完成我的登录。
当我删除 browser.pause 时出现此错误
失败:没有这样的元素:无法定位元素:{"method":"id","selector":"Passwd"}
最佳答案
等待become visible :
var EC = protractor.ExpectedConditions;
var passwordInput = element(by.id('Passwd'));
browser.wait(EC.visibilityOf(passwordInput), 5000);
passwordInput.sendKeys('11111');
关于javascript - Protractor 找不到密码为 id 的 gmail 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35730890/