是否可以使用Google身份验证弹出窗口使用Cypress.io登录Google帐户?
我可以打开窗口,但是赛普拉斯无法检测到电子邮件输入字段的ID .
错误是:“CypressError:超时重试:预计找到元素:'#identifierId',但从未找到它 . ”
it('Login', function() {
cy.visit('home')
cy.get('#signin-button').click()
cy.get('#google-login-button').click()
// cy.wait(1500) // wait doesn't help
cy.get('#identifierId')
.type('user@gmail.com') // <<-- error here
})
2 回答
由于赛普拉斯没有完全实施iframe support,这不起作用 .
但是,赛普拉斯不建议您在测试中访问第三方应用程序 . 这有很多原因,包括:
这非常耗费时间并且减慢了测试速度 .
第三方网站可能已更改或更新其内容 .
第三方网站可能存在您无法控制的问题 .
第三方网站可能会检测到您正在通过脚本进行测试并阻止您 .
第三方网站可能正在运行A / B广告系列 .
赛普拉斯已经概述了访问您无法控制的第三方网站的缺点以及他们的文档中的一些变通方法 . I suggest reading the full explanation here.
检查DOM元素是否可见 . identifierId不可见