搜尋

首頁  >  問答  >  主體

截取Zoom URL的Cypress測試

我有一個測試案例,最後會重定向到一個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粉521748211P粉521748211291 天前654

全部回覆(1)我來回復

  • P粉792673958

    P粉7926739582024-04-05 12:52:08

    可能是你的命令順序有問題,cy.intercept()是事件監聽器,所以它可能應該在.clickFirstJoinViaZoomButton()觸發事件之前設定。

    另外,你在正規表示式周圍加了引號,這意味著Cypress不會將其識別為正規表示式。

    請參閱匹配URL

    #

    請嘗試以下程式碼:

    cy.intercept(/^zoomus:\/.*/).as('zoom')
    
    MyAccount.clickFirstJoinViaZoomButton()
    
    cy.wait("@zoom")
    

    回覆
    0
  • 取消回覆