Test Cypress pour intercepter l'URL Zoom
P粉521748211
P粉521748211 2024-04-04 16:16:37
0
1
546

J'ai un cas de test qui finit par rediriger vers un lien Zoom. J'essaie d'éviter que le navigateur n'affiche la boîte de dialogue "Ouvrir zoom.us" afin de pouvoir terminer le test correctement et vérifier que le navigateur essaie réellement d'ouvrir le lien Zoom sans suspendre la session du navigateur ni arrêter l'exécution de JavaScript.

J'essaie actuellement d'utiliser l'interception pour y parvenir mais cela ne fonctionne pas.

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

répondre à tous(1)
P粉792673958

Il peut y avoir un problème avec l'ordre de vos commandes, cy.intercept()是一个事件监听器,所以它可能应该在.clickFirstJoinViaZoomButton()défini avant de déclencher l'événement.

De plus, vous mettez des guillemets autour de l'expression régulière, ce qui signifie que Cypress ne la reconnaîtra pas comme une expression régulière.

Voir URL correspondante

Veuillez essayer le code suivant :

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

MyAccount.clickFirstJoinViaZoomButton()

cy.wait("@zoom")
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal