在柏树中,我如何等待页面加载?

In cypress, how do I wait for a page to load?

不要告诉任何人,我们的应用还不是单页的。我可以 wait on a given XHR request 通过给路由一个别名,但是 我如何等到某些导航完成并且浏览器安全地进入新页面?

你可以在里面加一些断言:

cy.click('#someButtonToNavigateOnNewPage');

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

cy.click('#YouAreOnNewPage');

您可以更改默认超时 - 默认情况下为 4000 毫秒(4 秒) - 以确保用户浏览页面。我在这里设置了一个很大的数字——60,000 毫秒——因为我确信如果 99% 的用户在 1 分钟后没有加载页面,他们将会离开。

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

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