代码之家  ›  专栏  ›  技术社区  ›  bbsimonbb

在cypress中,如何等待页面加载?

  •  28
  • bbsimonbb  · 技术社区  · 6 年前

    不要告诉任何人,但我们的应用程序还不是单页的。我可以 wait on a given XHR request 通过为路由提供别名,但是 如何等待导航完成,浏览器安全地进入新页面?

    2 回复  |  直到 6 年前
        1
  •  36
  •   kuceb    6 年前

    您可以在其中添加一些断言:

    cy.click('#someButtonToNavigateOnNewPage');
    
    cy.location('pathname', {timeout: 60000})
      .should('include', '/newPage');
    
    cy.click('#YouAreOnNewPage');
    

    您可以更改默认超时(默认为4000毫秒(4秒)),以确保用户导航页面。我在这里输入了一个很大的数字——60000毫秒,因为我确信,如果1分钟后没有加载页面,99%的用户会离开。

        2
  •  -1
  •   khizer    3 年前

    使用添加一些断言 .should 语句并验证页面标题或标题

    cy.visit('/dashboard').click();
    cy.title().should('eq', 'Dashboard'); // page tab title