我正在运行一项测试,以确保单击按钮时不会重新加载页面。到目前为止,我还没有找到断言的最佳方法。最初,我想创建一条路由并等待不希望发生的xhr请求,如果发生,则使测试失败。但是,似乎没有一种方法可以从cy.wait()中捕获错误,一旦发生超时,该错误将使我无法通过测试。我当前的解决方案是确保给定元素的href以“#”开头,​​但这似乎有一个缺点,即有人可能在该事件上附加一个事件,该事件实际上会重新加载页面,并且不会被我捕获测试。

最佳答案

您可以使用Navigation Timing API

在测试中,您需要声明以下内容:

expect(performance.navigation.type).to.equal(performance.navigation.TYPE_RELOAD);

07-25 23:59