jenkins/ath Docker Image
自动构建
Jenkins自动化服务器及其插件的端到端测试套件,通过UI/REST API控制被测Jenkins实例,为每个测试启动干净实例以隔离测试,并提供Docker支持方便编写集成测试。
Jenkins 验收测试套件
概述和主要用途
端到端测试套件,用于Jenkins自动化服务器及其插件。通过UI/REST API控制被测Jenkins(JUT)实例,为每个测试启动干净实例以确保测试隔离,并提供便捷的Docker支持,简化集成测试编写。
核心功能和特性
- 端到端测试控制:通过UI和REST API与被测Jenkins实例交互
- 测试隔离:为每个测试启动全新的Jenkins实例,避免测试间干扰
- Docker支持:提供Docker集成,便于快速搭建测试环境
- 灵活配置:支持多种执行配置,包括浏览器选择、测试指定、版本管理等
- 插件覆盖:可针对插件覆盖情况选择测试(开发中)
使用场景和适用范围
- Jenkins核心及插件的集成测试验证
- 跨插件交互功能测试
- 在实际Web浏览器中验证UI行为
- 在真实类加载环境中运行测试
- 替代jenkins-test-harness的场景:安装插件进行跨插件集成、验证实际浏览器中的UI行为等
使用方法和配置说明
快速开始
启动测试套件的最简单方式是执行以下命令:
bashBROWSER=firefox JENKINS_VERSION=2.73 mvn test
由于覆盖组件/用例数量多、Jenkins设置成本及Selenium交互耗时,完整测试套件需数小时运行。可通过选择测试子集(如冒烟测试)减少运行时间。
详细配置与运行
测试套件提供多种配置执行方式,包括:
- 选择Web浏览器
- 指定要运行的测试
- 管理Jenkins和插件版本
- 使用HTTP代理
- 预启动Jenkins
- 选择Jenkins启动方式
- 获取已执行插件的报告
- 在容器中运行测试
- 在Java 11上运行测试(开发中)
- 在容器中调试测试
- 基于插件覆盖选择测试(待办)
编写测试
考虑到测试套件运行时间较长,建议测试作者聚焦于最流行的插件和用例,以最大化测试价值。应避免以下情况:可作为核心/插件测试一部分的测试、不太可能捕获未来回归的测试(如个别bug的复现用例、边界条件测试等)。维护者需更新测试以反映核心/插件变更,并确保测试无假阳性。违反此指南的测试可能会被移除以保证套件可靠性。
相关资源:
- Docker fixtures
- 页面对象
- 混合组件
- Guice 依赖注入
- 编写测试
- Kohsuke的视频教程:如何编写测试
- 编写JUnit测试
- 测试从节点
- 测试邮件
- Hamcrest匹配器
- 如何在自定义模块中使用
- EC2提供商配置
- 问题排查
验收测试套件相比jenkins-test-harness更适用的场景:
- 安装插件进行跨插件集成
- 在真实类加载环境中运行测试
- 在实际Web浏览器中验证UI行为
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
docker pull jenkins/ath:<标签>
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务