赛普拉斯无法验证设置为“baseUrl”的服务器是否正在运行:

Bur*_*han 6 mocha.js docker cypress

我可以使用网络浏览器从我的计算机访问 xxxx.com:8089,它也在容器上运行,但远程机器不同。一切安好。我的 cypress.json

"baseUrl": " http://xxxx.com:8089 " 是这个。

我正在尝试运行 docker 容器以使用 Cypress 运行测试:

docker run --rm --name burak --ipc="host" -w /hede -v         /Users/kurhanb/Desktop/nameoftheProject:/hede'  cypress  /bin/bash -c    cypress run --browser chrome && chmod -R 777 . --reporter mochawesome --reporter-options --reportDir=Users/kurhanb/Desktop/CypressTest overwrite=false
Run Code Online (Sandbox Code Playgroud)

它给了我:

赛普拉斯无法验证设置为“baseUrl”的服务器是否正在运行:

http://xxxx.com

您的测试可能会向此“baseUrl”发出请求,如果您不启动服务器,这些测试将失败。

所以基本上,我可以从我的计算机访问但容器不能?

Sam*_*und 6

尽管能够通过浏览器访问该站点,但我还是遇到了“赛普拉斯未能验证您的服务器正在运行”的问题。问题是我的

/etc/hosts
Run Code Online (Sandbox Code Playgroud)

文件不包含一行:

127.0.0.1 localhost
Run Code Online (Sandbox Code Playgroud)


Zac*_*ist 5

赛普拉斯给你这个错误是因为在赛普拉斯启动时,你的应用程序还没有准备好开始响应请求。

假设您的应用程序需要 10 秒钟来设置并开始响应请求。如果您同时启动您的应用程序和赛普拉斯,赛普拉斯将无法在前十秒内访问您的应用程序。而不是无限期地等待应用程序上线,赛普拉斯将退出并告诉您您的应用程序尚未上线。

解决此问题的方法是确保您的 Web 服务器在 Cypress 开启之前提供服务。Cypress 文档中有一些示例说明如何实现这一点:https : //docs.cypress.io/guides/guides/continuous-integration.html#Boot-your-server