相关疑难解决方法(0)

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

不要告诉任何人,但我们的应用程序尚未单页.我可以通过为路由提供别名来等待给定的XHR请求,但是如何等待某个导航完成并且浏览器安全地位于新页面上?

cypress

7
推荐指数
1
解决办法
9115
查看次数

你如何在cypress.io测试中可靠地等待页面空闲

使用cypress.io测试角度网页时,最好/最可靠的方法是检测页面何时完全加载和空闲.不只是onload事件.需要包括所有XHR请求,角度摘要周期完成以及所有渲染完成,包括所有动画完成.

原因是此时我想测试该页面不包含元素并且无法测试,直到上述所有内容完全完成.

testing web angular cypress

7
推荐指数
2
解决办法
1204
查看次数

单击后如何在 cypress 中等待页面完成重新加载?

我收到表单,当我触发单击提交按钮时,这会导致刷新当前页面。之后我想做一些断言。我如何知道页面已完成刷新并且我可以开始搜索元素?

cy.get('#formButton').click() // adds new item and refresh page
// do assertions on page
Run Code Online (Sandbox Code Playgroud)

cypress

7
推荐指数
1
解决办法
5056
查看次数

Cypress 与 SystemJS

我正在尝试创建一些基本测试来尝试新的Cypress库。在我的测试中,我正在cy.visit('http://mywebsite.com');加载一个使用 SystemJS 的 AngularJS 应用程序。

如果我正确理解 Cypress,我不需要做任何其他事情,它会确保在运行其他任何操作之前加载页面。然而,这似乎不起作用,因为页面已加载,但 SystemJS 仍在加载模块。

在不使用 的情况下,如何让 Cypress 等待所有 SystemJS 模块加载,然后再运行更多测试cy.wait(5000)

编辑

感谢 Dwelle,这是适合我的解决方案。我将初始的 System.import 包装在一个承诺中,一旦 AngularJS 应用程序启动,该承诺就会得到解决。

window.APP_READY = new Promise(function(resolve, reject) {
    System.import('app').then(function(app) {
        angular.element(document).ready(function() {
            angular.bootstrap(document, ['app']);
            resolve();
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

然后在测试中

cy.visit('http://mywebsite.com').its('APP_READY');
Run Code Online (Sandbox Code Playgroud)

javascript testing systemjs es6-modules cypress

5
推荐指数
1
解决办法
2597
查看次数

标签 统计

cypress ×4

testing ×2

angular ×1

es6-modules ×1

javascript ×1

systemjs ×1

web ×1