运行 使用 Karate-Chrome 进行测试(连接被拒绝异常)
Run tests with Karate-Chrome (Connection refused exception)
基于空手道 UI 的测试 运行 在本地成功地使用空手道-chrome(步骤 here)启动了一个带有暴露端口的容器。
现在,我正在尝试 运行 空手道-chrome 容器 CI 中的测试。我用 KARATE_SOCAT_START=true
启动了 karate-chrome 容器,然后执行 java -jar(独立 jar)命令来 运行 测试。非 UI 测试通过,但 UI 测试抛出以下异常:
ERROR com.intuit.karate - http request failed:
15:26:09 DOCKER: org.apache.http.conn.HttpHostConnectException: Connect to localhost:9222 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused (Connection refused)
请注意,docker 的 driverTarget 尚未配置。只有以下驱动程序的配置:
* configure driver = { type: 'chrome', start: false, showDriverLog: true, port:9222 ,pollAttempts: 5}
是否可以让它以这种方式工作,或者是否应该设置自定义 docker 图像?
抱歉,您的设置不清楚。但是使用 configure driverTarget = { docker: 'ptrthomas/karate-chrome' }
意味着 Docker 应该安装在你所在的机器上 运行 测试。
我建议您开始查看 1.0 release, and we have a reference test that uses the Docker container a little differently, without using driverTarget
. You can find details here:
如果在你完成这项工作后,你 post 你的解决方案作为这里的另一个答案,那就太好了,这样它可以帮助其他人并帮助我们在需要时改进文档。
我无法直接在 karate-chrome
上进行基于 运行 UI 的测试。因此,我最终创建了一个新的 docker 图像 (docker-openjdk8) 以 运行 使用 driverTarget:
的测试
* configure driverTarget = { docker: 'ptrthomas/karate-chrome', showDriverLog: true}
这基本上是 运行s Docker-in-Docker (DIND) 过程的测试。很高兴知道其他人是否有更好的解决方案。
基于空手道 UI 的测试 运行 在本地成功地使用空手道-chrome(步骤 here)启动了一个带有暴露端口的容器。
现在,我正在尝试 运行 空手道-chrome 容器 CI 中的测试。我用 KARATE_SOCAT_START=true
启动了 karate-chrome 容器,然后执行 java -jar(独立 jar)命令来 运行 测试。非 UI 测试通过,但 UI 测试抛出以下异常:
ERROR com.intuit.karate - http request failed:
15:26:09 DOCKER: org.apache.http.conn.HttpHostConnectException: Connect to localhost:9222 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused (Connection refused)
请注意,docker 的 driverTarget 尚未配置。只有以下驱动程序的配置:
* configure driver = { type: 'chrome', start: false, showDriverLog: true, port:9222 ,pollAttempts: 5}
是否可以让它以这种方式工作,或者是否应该设置自定义 docker 图像?
抱歉,您的设置不清楚。但是使用 configure driverTarget = { docker: 'ptrthomas/karate-chrome' }
意味着 Docker 应该安装在你所在的机器上 运行 测试。
我建议您开始查看 1.0 release, and we have a reference test that uses the Docker container a little differently, without using driverTarget
. You can find details here:
如果在你完成这项工作后,你 post 你的解决方案作为这里的另一个答案,那就太好了,这样它可以帮助其他人并帮助我们在需要时改进文档。
我无法直接在 karate-chrome
上进行基于 运行 UI 的测试。因此,我最终创建了一个新的 docker 图像 (docker-openjdk8) 以 运行 使用 driverTarget:
* configure driverTarget = { docker: 'ptrthomas/karate-chrome', showDriverLog: true}
这基本上是 运行s Docker-in-Docker (DIND) 过程的测试。很高兴知道其他人是否有更好的解决方案。