如何在docker中运行maven selenium项目(maven+;selenium+;java+;TestNg+;docker)
我需要在docker中运行selenium测试用例。我引用的多篇文章都是同样尝试过的。我可以在docker中运行测试用例,docker只设置了selenium。但我的项目是maven build,我想在docker中运行它 项目设置:如何在docker中运行maven selenium项目(maven+;selenium+;java+;TestNg+;docker),java,maven,docker,jar,Java,Maven,Docker,Jar,我需要在docker中运行selenium测试用例。我引用的多篇文章都是同样尝试过的。我可以在docker中运行测试用例,docker只设置了selenium。但我的项目是maven build,我想在docker中运行它 项目设置: 使用Java的seleniumwebdriver Maven作为构建工具 TestNg框架 通过maven run config运行测试用例,该配置运行testng.xml中更新的测试用例 我从几篇有用的文章中了解到: 需要创建测试用例jar吗 创建映像并在do
- 需要创建测试用例jar吗
- 创建映像并在docker中运行映像
但我无法使此设置正常工作。我没有使用TestNg的经验,但我使用以下配置通过docker中的maven运行Selenium测试: docker-compose.yml(这将允许您连接到单独的selenium docker容器)
图像:selenium/standalone firefox
卷数:
-/dev/shm:/dev/shm
端口:
- "4444:4444"
揭露:
- 4444
maven_容器:
建造:。#使用Dockerfile
链接:
-远程网络驱动程序
卷数:
- :
标准开放:正确
tty:是的
入口点:/bin/sh
在“maven_容器”中的pom.xml中,确保包含selenium依赖项(见下文)
org.seleniumhq.selenium
硒爪哇
${selenium.version}
最后是“maven_容器”的docker图像。请注意,如果要在docker compose中装入卷之前运行mvn build等,我们需要在生成的通用pom.xml上复制本地pom.xml
FROM zenika/alpine-maven
RUN apk update \
&& apk add ca-certificates wget \
&& update-ca-certificates
RUN apk add vim
RUN mvn archetype:generate -B \
-DarchetypeGroupId=net.alchim31.maven -DarchetypeArtifactId=<intended artifact ID> -DarchetypeVersion=1.7 \
-DgroupId=com.myproject -DartifactId=MyProject -Dversion=0.1-SNAPSHOT -Dpackage=com.scalascrape
WORKDIR /usr/src/app/MyProject
RUN rm pom.xml
COPY pom.xml .
来自zenika/alpine maven的
运行apk更新\
&&apk添加ca证书wget\
&&更新ca证书
运行apk添加vim
运行mvn原型:生成-B\
-DarchetypeGroupId=net.alchim31.maven-DarchetypeArtifactId=-DarchetypeVersion=1.7\
-DgroupId=com.myproject-DartifactId=myproject-Dversion=0.1-SNAPSHOT-Dpackage=com.scalascrape
WORKDIR/usr/src/app/MyProject
运行rmpom.xml
复制pom.xml。
注意!在连接到selenium服务器之前,您必须等待selenium服务器启动。如果要使用docker compose up
命令运行测试,这是一个重要的考虑因素
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
FROM zenika/alpine-maven
RUN apk update \
&& apk add ca-certificates wget \
&& update-ca-certificates
RUN apk add vim
RUN mvn archetype:generate -B \
-DarchetypeGroupId=net.alchim31.maven -DarchetypeArtifactId=<intended artifact ID> -DarchetypeVersion=1.7 \
-DgroupId=com.myproject -DartifactId=MyProject -Dversion=0.1-SNAPSHOT -Dpackage=com.scalascrape
WORKDIR /usr/src/app/MyProject
RUN rm pom.xml
COPY pom.xml .