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