【发布时间】:2018-05-14 13:05:45
【问题描述】:
我的 Selenium Java 测试在 Docker 容器中运行。我需要使用 BrowserStackLocal,因为我使用 BrowserMob 代理来拦截和检查我们的 Web App 发送的分析。每次在 Docker 中调用 BrowserStackLocal.stop() 时,它都会挂起。 当我连接到这个正在运行的容器时,我看到了这个:
# ps -eo pid,ppid,state,cmd | awk '$3=="Z"'
63 1 Z [BrowserStackLoc] <defunct>
我遇到了 NodeJS 的以下问题,但显然它没有移植到 Java 实现: https://github.com/browserstack/browserstack-local-nodejs/issues/25
我对解决方法很好,但我在我的 Dockerfile 中尝试了以下组合(使用 browserstack-local-nodejs 的类似问题的解决方法)但无济于事:
CMD ["java", "-cp", "target/.jar", "org.testng.TestNG", "testng.xml"]
CMD ["/bin/bash", "-c", "set -e && java -cp .jar org.testng.TestNG testng.xml"]
唯一有效的方法是注释 browserStackLocal.stop() 调用。 有没有可能有帮助的解决方法?
【问题讨论】:
标签: java docker browserstack