You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Gradle+Java+Selenium+JUnit自动化测试项目打包到Docker中运行

Selenide Gradle测试项目Docker封装方案

1. 项目配置适配

首先修改Selenide全局配置,适配容器内无头Chrome运行环境,可将以下配置添加到JUnit测试类的公共前置逻辑中:

// 指定浏览器为Chrome
Configuration.browser = "chrome";
// 开启无头模式
Configuration.headless = true;
Configuration.browserSize = "1920x1080";
// 容器环境必加的Chrome启动参数,避免权限、内存不足问题
Configuration.chromeOptions.addArguments("--no-sandbox");
Configuration.chromeOptions.addArguments("--disable-dev-shm-usage");
Configuration.chromeOptions.addArguments("--disable-gpu");
// 开启自动下载匹配版本的ChromeDriver,无需手动打包驱动到项目
Configuration.driverManagerEnabled = true;

2. 编写Dockerfile

在项目根目录创建Dockerfile文件,内容如下,可根据你项目实际使用的JDK、Gradle版本调整基础镜像标签:

# 基础镜像已预装对应版本的JDK和Gradle,避免手动配置环境
FROM gradle:8.5-jdk17

# 安装Chrome浏览器
RUN apt-get update && apt-get install -y \
    wget \
    gnupg \
    --no-install-recommends \
    && wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
    && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
    && apt-get update && apt-get install -y google-chrome-stable \
    && rm -rf /var/lib/apt/lists/*

# 设置容器内工作目录
WORKDIR /app

# 先复制Gradle配置文件,做依赖缓存,减少后续构建耗时
COPY build.gradle settings.gradle /app/
RUN gradle build --no-daemon -x test || true

# 复制完整项目代码到容器内
COPY . /app

# 设置默认启动命令为执行测试
ENTRYPOINT ["gradle", "test", "--no-daemon"]

3. 镜像构建与运行

  • 构建镜像:在项目根目录执行命令
    docker build -t selenide-test:v1 .
  • 直接运行测试,执行完成后自动销毁容器,日志直接输出到控制台
    docker run --rm selenide-test:v1

4. 可选:测试结果持久化到宿主机

Gradle默认会将测试报告生成到/app/build/reports/tests/test目录,运行容器时挂载宿主机目录即可将结果导出:
docker run --rm -v $(pwd)/test-result:/app/build/reports/tests/test selenide-test:v1
执行完成后打开宿主机当前目录下test-result/index.html即可查看完整测试报告。
如果需要进入容器内调试,可执行命令覆盖默认入口:
docker run -it --entrypoint bash selenide-test:v1

内容的提问来源于stack exchange,提问作者TemirlanU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 13:21:03