如何使用Jenkins+pytest+allure生成测试报告

本文详细介绍了如何使用Jenkins、pytest和allure来生成测试报告。首先,通过下载并配置allure环境,接着在Jenkins服务器上安装allure插件,可以通过在线或离线方式。然后安装pytest插件,使用pip install allure-pytest命令。最后,在Jenkins的全局工具配置和Job配置中设置相关参数,完成配置后,构建Job即可生成测试报告。

1、安装

allure :

官网下载zip安装包,解压到指定目录,讲allure的bin目录地址添加到ALLURE_HOME系统环境变量

检查安装:cmd 执行命令 allure --verison 。出现版本号则表示安装成功

 

jenkins服务器allure插件安装:

1):在线安装:

manage jenkins ----> manage plugins 找到 Allure Jenkins Plugin 安装,重启jenkins即可

2):离线安装:

1))、去Jenkins插件官网-下载allure插件到本地 (https://plugins.jenkins.io/)

2))、管理员账号登录Jenkins、系统管理--插件管理---Advanced---update Plugin; 上传.phi格式的插件,点击上传操作

 

pytest插件安装:

安装命令:pip install allure-pytest

doc地址:https://docs.qameta.io/allure/#_pytest

 

2、Jenkins相关配置

配置allure commandline

在系统管理--全局工具配置页面中配置allure和jdk的相关信息

JDK

 

 

 

allure

 

### 概述 搭建集成 **GitHub、JenkinsPytestAllure** 的自动化测试平台,主要涉及以下几个方面: 1. 使用 Docker 部署 Jenkins 环境; 2. 在 Jenkins 中配置 Pytest 测试任务; 3. 集成 Allure 报告生成插件; 4. 与 GitHub 进行连接,实现代码推送后自动触发测试流程。 --- ### 使用 Docker 部署 Jenkins 环境 可以使用 `docker-compose.yml` 文件快速部署 Jenkins 容器,并确保其具备运行 Python 自动化测试的能力。以下是一个完整的配置示例: ```yaml version: '3' services: jenkins: image: jenkins/jenkins:lts privileged: true user: root ports: - "8080:8080" - "50000:50000" volumes: - jenkins_home:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker - /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 volumes: jenkins_home: ``` 启动容器后,在浏览器中访问 `http://<服务器IP>:8080` 即可进入 Jenkins 初始化界面。初始化完成后,登录并进行必要的插件安装和全局工具配置[^3]。 --- ### Jenkins 中配置 Pytest 测试任务 在 Jenkins 中创建一个新的自由风格项目(Freestyle Project),并进行如下配置: #### 1. 源码管理(Source Code Management) 选择 Git,并填写你的 GitHub 仓库地址以及凭据(建议使用 Personal Access Token): ``` Repository URL: https://github.com/yourname/yourrepo.git Branches to build: */main 或 */master ``` #### 2. 构建环境(Build Environment) 勾选 “Delete workspace before build starts”,确保每次构建都是干净的环境。 #### 3. 构建步骤(Build Steps) 选择“Execute shell”或“Windows Batch Command”,根据系统类型执行以下命令: ```bash # 安装依赖 pip install -r requirements.txt # 执行 Pytest 测试并将结果输出到 allure-results 目录 pytest test_your_module.py --alluredir=./allure-results --clean-alluredir ``` --- ### 配置 Allure 报告插件 在 Jenkins 插件管理中安装 **Allure Report Plugin**,然后在项目的“Post-build Actions”中添加“Report Generation”,指定 Allure 结果目录为 `./allure-results`。 完成配置后,每次构建成功后会自动生成可视化的 Allure 测试报告页面。 --- ### 与 GitHub 集成实现持续集成 在 GitHub 仓库中设置 Webhook,指向 Jenkins 的钩子地址,例如: ``` http://<jenkins-server>:8080/github-webhook/ ``` 这样当有新的提交推送到 GitHub 时,Jenkins 就会自动拉取代码并触发构建任务,从而实现完整的 CI/CD 流程。 --- ### 示例:完整 Jenkinsfile 实现(适用于 Pipeline) 如果使用 Jenkins Pipeline,可以在项目根目录下创建 `Jenkinsfile`,内容如下: ```groovy pipeline { agent any stages { stage('Clone Repository') { steps { git branch: 'main', url: 'https://github.com/yourname/yourrepo.git' } } stage('Install Dependencies') { steps { sh 'pip install -r requirements.txt' } } stage('Run Tests') { steps { sh 'pytest test_your_module.py --alluredir=./allure-results --clean-alluredir' } } } post { always { allure includeProperties: false, jdk: '', results: [[path: 'allure-results']] } } } ``` 该文件定义了从代码拉取、依赖安装、执行测试到生成 Allure 报告的全过程。 --- ### 注意事项 - 确保 Jenkins 容器内已安装 Python、Pytest 及相关依赖库; - 若 Jenkins 运行在 Linux 系统上,推荐使用虚拟环境(如 `venv`)隔离测试依赖; - Jenkins 容器需要具有读写权限以生成 Allure 报告; - 如果遇到权限问题,可在容器启动时加上 `-uroot` 参数以提升权限级别。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值