当前位置: 首页 > 知识库问答 >
问题:

如何在docker中运行maven selenium项目(maven selenium java TestNg docker)

连俊智
2023-03-14

我需要在docker中运行selenium测试用例。我引用的多篇文章都是一样的。我可以在docker中运行测试用例,它只设置了selenium。但我的项目是maven build,我想在docker中运行。

项目设置:

  1. 使用Java的Selenium webdriver

我从几篇有用的文章中了解到:

  • 需要创建测试用例jar

但是我无法使这个设置工作。

共有1个答案

易书
2023-03-14

我没有使用TestNg的经验,但我使用以下配置在docker中通过maven运行Selenium测试:

docker-compose.yml(这将允许您连接到单独的硒docker容器)

  image: selenium/standalone-firefox
  volumes:
    - /dev/shm:/dev/shm
  ports:
    - "4444:4444"
  expose:
    - 4444

maven_container:
  build: . # uses Dockerfile
  links:
    - remote-webdriver

  volumes:
    - <your local volume>:<container volume>
  stdin_open: true
  tty: true
  entrypoint: /bin/sh

在你的pom中。“maven_容器”中的xml一定要包含selenium依赖项(见下文)。

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>${selenium.version}</version>
</dependency>

最后是“maven_容器”的docker图像。注意,我们需要复制本地pom。通用pom上的xml。如果我们想在docker compose中装入卷之前运行mvn构建等,则生成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 .

注意!在连接到selenium服务器之前,您必须等待它启动。如果您想使用docker-compose up命令运行测试,这是一个重要的考虑因素。

 类似资料:
  • 我想运行Quakus联调以验证从源代码生成的OpenAPI yaml。根据留档,它应该可以使用注释来完成。然而,它没有解释如何使它工作。 当使用@QuarkusIntegrationTest注释的测试测试生成的结果时,它应该作为集成测试套件的一部分运行——即,如果使用maven,则通过maven failsafe插件运行,如果使用Gradle,则通过附加任务运行。 不幸的是,目前尚不清楚这意味着什

  • 问题内容: 我有一个Java项目,可以在Eclipse上正常运行。现在,我需要使用命令行来运行它,例如java classpath …如何在Eclipse中基于存储的类路径来设置该类路径。 问题答案: 只需导航到类文件所在的目录并使用 编辑:您可以将替换为任何类路径。例如,要查找您的类路径,可以使用 编辑:看起来像有相当多的信息,可以帮助你在这里。

  • 我有一个现有的Play2.1项目。我一直在控制台运行它,它工作得很好。然而,当我尝试使用以下指令使用IntelliJ运行它时,它不起作用: https://www.jetbrains.com/help/idea/gett-started-with-play-2-x.html#run_debug_playApp 首先,我试着通过右键点击应用程序并选择“运行播放2应用程序”来运行它。它将无法运行,并给

  • Docker-compose.yaml 我怎么能那么做?

  • 本文向大家介绍docker运行项目的方法,包括了docker运行项目的方法的使用技巧和注意事项,需要的朋友参考一下 1、进入存放自己项目war的目录 编辑Dockerfile文件 内容如下: 2、build自己的镜像 不出意外的会显示build镜像的步骤,最后一行为 最后的字符串是镜像id的一部分。 此时可以运行docker images查看自己的镜像信息 3、运行自己的docker容器 这里 -

  • PROJECT_B中的docker-compose.yml如下所示: 每个项目都可以单独运行,工作良好。但是,如果我们想要更改PROJECT_A和PROJECT_B之间的api,我们需要运行这两个项目,并将它们链接在一起以测试我们的代码。现在我们想写一个开发工具包项目,可以运行这两个项目,并链接他们,如果需要。最好的方法是什么?