Cypress 提供了一种使用request测试服务器端重定向的简单方法:
cy.request({
url: `/dashboard/`,
followRedirect: false, // turn off following redirects
}).then((resp) => {
expect(resp.redirectedToUrl).to.eq('http://example.com/session/new')
})
但是,这不适用于客户端重定向,因为页面在重定向发生之前已成功加载,这意味着响应是针对页面的,而不是针对重定向的。
如何测试客户端重定向?
我需要一种捕获重定向并验证的方法:
发生了
是正确的 URL。
笔记:
我不想跟随重定向离开正在测试的应用程序。我没有测试整个身份验证流程。我只需要知道有一个重定向。
我无法更改此身份验证流程。重定向是不可避免的。
重定向发生在初始化期间,而不是任何用户交互的结果。
重定向使用:window.location.href = url
请参阅下面我的回答以尝试解决此问题。
慕尼黑的夜晚无繁华
慕妹3146593
摇曳的蔷薇
相关分类