截取Zoom URL的Cypress测试
P粉521748211
P粉521748211 2024-04-04 16:16:37
0
1
536

我有一个测试用例,最终会重定向到一个Zoom链接。我试图避免浏览器弹出“打开zoom.us”对话框,以便我可以正确地完成测试,并验证浏览器确实尝试打开Zoom链接,而不会挂起浏览器会话并停止JavaScript执行。

我目前正在尝试使用intercept来实现这一点,但它没有起作用。

it.only('应该使用测试员的用户名和密码成功登录并点击加入Zoom链接', () => {
     LoginPage.login(credentials.tester.username, credentials.tester.password);

     cy.url().should('eq', `${Cypress.config().baseUrl}/myaccount`);

     cy.intercept({
        url: /^zoomus:\/.*/
     }).as('zoom')
     // 也尝试过
     // cy.intercept(/^zoomus:\/.*/).as('zoom')

     MyAccount.clickFirstJoinViaZoomButton();

     cy.wait("@zoom")
  })

  export class MyAccount {
    static url = '/myaccount';

    static navigate() {
      cy.visit(MyAccount.url);
    }

    static clickFirstJoinViaZoomButton() {
      myaccountLocators.firstJoinViaZoomButton().click();
    }
  }

P粉521748211
P粉521748211

全部回复(1)
P粉792673958

可能是你的命令顺序有问题,cy.intercept()是一个事件监听器,所以它可能应该在.clickFirstJoinViaZoomButton()触发事件之前设置。

另外,你在正则表达式周围加了引号,这意味着Cypress不会将其识别为正则表达式。

请参阅匹配URL

请尝试以下代码:

cy.intercept(/^zoomus:\/.*/).as('zoom')

MyAccount.clickFirstJoinViaZoomButton()

cy.wait("@zoom")
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板