如何使用Cypress在测试自动化中处理windows提示?

。
订阅者
258
文章
0
粉丝
测试交流评论173字数 397阅读1分19秒阅读模式
摘要我不熟悉使用Cypress实现web自动化。我仍在互联网上寻找答案,但我找不到一个适合我的解决方案。 这就是我在我的。。。

我不熟悉使用Cypress实现web自动化。我仍在互联网上寻找答案,但我找不到一个适合我的解决方案。

这就是我在测试中要做的:

  • 用户单击链接。
  • 打开一个新选项卡,出现windows提示,请求用户输入(用户名、密码)。
    (由于Cypress不允许打开新标签,我删除了 目标 属性。)
  • 成功登录后,页面上有一个下载按钮。
  • 用户单击下载按钮。

第一次斗争 -我无法在windows提示符中输入值。在下面的代码中,我试图查看是否会单击windows提示符上的“登录”按钮,但没有。

cy.window().then(win => {
    cy.get('@documentPassword').then((finalPassword) => {
        const stub =cy.stub(win, 'prompt')
        stub.returns('test')
        cy.get('button#signin').click()
    })
})

我得到一个断言错误: 25000ms后重试超时:应找到元素:button#signin,但从未找到。

在这方面运气不佳之后,我转而提出另一个建议。


第二次斗争 -我尝试将用户名和密码放入链接,如下所示: https://username:password@mytestingwebsite。COM. 需要注意的是,当我手动将链接粘贴到浏览器中时,它可以正常工作。为了验证这一点,我做了以下工作:

cy.visit('https://mailtrap.io')
// ...other steps
cy.ForceVisite公司('https://username:password@mytestingwebsite。COM')

我添加了一个自定义命令 ForceVisite公司命令。js公司 文件:

Cypress.Commands.add('ForceVisite公司', url => {
    cy.window().then(win => {
        return win.open(url, '_self'); 
      

结果是第二个url没有加载。

希望你们能有任何见解。提前谢谢。

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证