从另一个Docker实例运行Zaleniumtesting

对于我们的自动化testing目的,我正在尝试使用Zalenium Docker系统来运行UItesting。

testing在Jenkins从服务器上执行,并从pipe道脚本执行:

docker run --rm --name zalenium --detach -p 4444:4444 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/videos:/home/seluser/videos --privileged dosel/zalenium start" 

然后,我使用另一个Docker容器来执行testing:

 docker run --privileged --rm --volume=${workingDirectory}:/volume/git --workdir='/volume/git' some-container-name:0.1 mvn -f /project/pom.xml clean test -Dselenium.hub='http://localhost:4444' 

当我执行testing时,我看到以下错误:

  Tests run: 3, Failures: 2, Errors: 0, Skipped: 1, Time elapsed: 1.824 sec <<< FAILURE! - in TestSuite setupBrowser(com.skybet.myaccount.login.usingCorrectDetails) Time elapsed: 1.108 sec <<< FAILURE! org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z' System info: host: '96a52140dee0', ip: 'XXXX', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-693.5.2.el7.x86_64', java.version: '1.8.0_151' Driver info: driver.version: RemoteWebDriver Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:4444 [/127.0.0.1] failed: Connection refused (Connection refused) Caused by: java.net.ConnectException: Connection refused (Connection refused) 

我不太确定正确的地址应该是什么。 有任何想法吗?

我发现我的问题的解决scheme是使用–link命令,所以我可以将执行我的testing的Docker实例链接到承载网格系统的Zalenium实例:

 docker run --privileged --name stg-selenium-client --rm=true --link zalenium:hub hub.platformservices.io/sbg_core_automation/core-test-runner-with-maven-dependencies:0.12 mvn -f /project/pom.xml test -P ui -Denvironment=test5 -Dgroups=smoketest -Dbrowser.name=chrome -Dselenium.hub=hub:4444