我有一個測試案例,最後會重定向到一個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(); } }
可能是你的命令順序有問題,
cy.intercept()
是事件監聽器,所以它可能應該在.clickFirstJoinViaZoomButton()
觸發事件之前設定。另外,你在正規表示式周圍加了引號,這意味著Cypress不會將其識別為正規表示式。
請參閱匹配URL
#請嘗試以下程式碼: