首页 > 解决方案 > cy.visit() 失败,因为在单个测试用例中尝试访问第二个唯一域/位置/url

问题描述

我需要在单个测试中导航两个不同的 url,但是当导航第二个时,它给了我错误 1.FirstUrl-“ https://app.ca-test.com/Public/Login?ReturnUrl=%2F ”2。 SecondUrl -" https://www.mailinator.com/ "(位置和来源是变化的)

“cy.visit() 失败,因为您试图访问不同来源的 URL。”

我也使用了 cy.request() 但没有用,我们怎么能这样做呢?但是我必须在单个测试中导航两个 url,并且不能划分测试用例。这是我的测试用例

标签: cypress

解决方案


赛普拉斯一直以来一直在防止交叉起源。这个问题有点涉及,但只是有点。

总结一下:

  • 一项测试中的不同域不受官方支持,至少目前还没有。赛普拉斯文档中有一个完整的部分

  • 他们的板上有一个功能请求来支持多个,但我认为它不会很快实现,该票中发布了一些解决方法,也许其中一个对你有用。

  • 您可以通过添加到配置文件来禁用 chrome跨域安全性chromeWebSecurity: falsecypress.json

  • 如果您想使用 Mailinator 来检查/发送电子邮件,为什么必须访问该站点?只需使用他们的 APIcy.request()

  • 永远不要在此处直接链接您的测试环境。


推荐阅读