我有一个用于 nightwatch.js 的 docker 设置,可以通过 selenium 网格为快速服务器应用程序运行 selenium 测试。当我只使用 docker-compose up 然后在服务器启动后手动运行我的夜间测试时,一切似乎都可以正常启动。如果我将它们作为容器命令的一部分运行(即在我的应用服务器容器命令或基于它的仅运行 nightwatch 的新容器中),那么我会收到 503 bad gateway 错误。我认为我的 docker 设置中有一个竞争条件导致了这种情况。有没有办法保证我的应用服务器在运行我的夜间测试之前正常启动?
最佳答案
在命令前加上 wait-for-it.sh脚本(下载它并放入图像):
command: /wait-for-it.sh theotherservice:PORT -- your-previous-command
wait-for-it.sh
将等待指定的 server:port 执行 --
之后的命令,因此您可以避免竞争条件。
关于selenium - Nightwatch 一直报 502 bad gateway,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44620406/