在本地 Zalenium 网格上运行我的 selenium 测试用例时,它运行良好。我已经使用下面的 docker 文件创建了我的项目的图像。我已经编写了 docker compose 文件来启动 zalenium 网格。但是,当尝试运行我的项目的映像以创建容器并在我的容器内运行测试用例时,它给出了连接被拒绝的错误。
我创建图像的项目的 Dockerfile 如下
FROM openjdk:11.0.1-debian
VOLUME /tmp
ADD web_runnable.jar app.jar
ADD cacerts cacerts
ADD config.properties config
EXPOSE 8000
ENV USERNAME xyz
ENV PASSWORD xyz
ENV GRID true
ENTRYPOINT sh -c 'java -jar -Dconfig=config -DuserName=$USERNAME -Dpassword=$PASSWORD -Dgrid=$GRID -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStore=cacerts /app.jar com.tsys.driverscript.DriverScript.class'
启动 zalenium 的 Docker 撰写文件如下
version: '3.5'
services:
zalenium:
image: dosel/zalenium
container_name: zalenium_container
networks:
- main
restart: always
ports:
- "4444:4444"
command: ["start", "--desiredContainers", "1", "--maxDockerSeleniumContainers", "1","--sauceLabsEnabled","false","--screenWidth", "1280", "--screenHeight", "720" , --timeZone , "Asia/Kolkata", "--seleniumImageName","elgalu/selenium:latest"]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /Users/nikitatorane/videos:/home/seluser/videos
privileged: true
selenium:
image: elgalu/selenium:latest
container_name: selenium_container
networks:
- main
restart: always
networks:
main:
name: main
我的 huburl 设置如下:
NODE = "http://zalenium:4444/wd/hub";
当我尝试使用设置运行 zalenium 的同一网络来运行映像时,我也收到连接被拒绝错误是同一网络中的所有容器。
构建我的项目映像的命令如下:
docker build -t xyz:1.2
运行我的项目图像的命令如下:
docker run -it --net=main xyz:1.2
运行图像时出错如下:*
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
at java.base/java.net.Socket.connect(Socket.java:591)
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141)
... 52 more
我什至尝试链接两个容器,然后也得到与上面相同的错误。任何人都可以通过这个,让我知道我哪里出错了吗?