suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Cypress-Test zum Abfangen der Zoom-URL

Ich habe einen Testfall, der letztendlich zu einem Zoom-Link weiterleitet. Ich versuche zu vermeiden, dass der Browser das Dialogfeld „Zoom.us öffnen“ anzeigt, damit ich den Test korrekt abschließen und überprüfen kann, ob der Browser tatsächlich versucht, den Zoom-Link zu öffnen, ohne die Browsersitzung zu hängen und die JavaScript-Ausführung zu stoppen.

Ich versuche derzeit, Intercept zu verwenden, um dies zu erreichen, aber es funktioniert nicht.

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 Tage vor655

Antworte allen(1)Ich werde antworten

  • P粉792673958

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

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

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

    请参阅匹配URL

    请尝试以下代码:

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

    Antwort
    0
  • StornierenAntwort