使用cypress.io测试 Angular 网页时,最好的/最可靠的方法是检测网页何时完全加载和空闲。不只是onload事件。需要包括所有XHR请求,完整的 Angular 摘要循环以及包括所有动画在内的所有渲染。

原因是在这一点上,我想测试该页面是否不包含任何元素,并且在上述所有步骤完全完成之前不能进行测试。

最佳答案

您可以让 Cypress 等待任何请求完成,然后再继续。因此,如果您要等待某个页面的所有XHR,则可以对每个页面执行以下操作。等待的时间由responseTimeout configuration定义。

cy.server();
cy.route('**/api/getData').as('getData');
cy.visit('/home');
cy.wait('@getData');
或等待几条路线:
cy.server();
cy.route('**/api/getData').as('getDataX');
cy.route('**/api/getData').as('getDataY');

cy.visit('/home');
cy.wait(['@getDataX', '@getDataY']);
Cypress best practices: Unnecessary-Waiting.
Cypress docs on wait Alias.

关于angular - 如何在cypress.io测试中可靠地等待页面空闲,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50525143/

10-10 08:43