pytest+allure+jenkins 实现接口自动化测试

先看这篇,再看本文比较好CSDN

jenkins配置:

1、参数化输入:输入执行的环境

2、设置代码链接:APITEST: 接口自动化测试 自动化接口测试代码库

3、 根据输入的环境入参,修改代码库中的配置文件

配置文件如下所示

ls

定义要修改的配置文件 .ini 路径

INI_FILE="./conf/env.ini"

if "$env" == "验收环境" ; then

NEW_VALUE=2

elif "$env" == "仿真环境" ; then

NEW_VALUE=1

else

NEW_VALUE=0

fi

echo $NEW_VALUE

检查文件是否存在

if ! -f "$INI_FILE" ; then

echo "配置文件 $INI_FILE 不存在。"

exit 1

fi

使用 sed 替换 flag 的值,flag 0是生产,1仿真,2验收

sed -i.bak "s/flag\s*=\s*0-9\+/flag = NEW_VALUE/g" "INI_FILE"

(可选)备份原文件

mv "INI_FILE.bak" "INI_FILE.backup"

echo "已更新 INI_FILE 中 key 的值为 NEW_VALUE"

4、 执行用例

pytest --alluredir=allure-results --clean-alluredir ./testsuite/test

allure generate allure-results - o allure-report --clean

5、 配置allure

6、执行

结果如下:

遇到问题及解决方案

解决方案:

进入 Jenkins 的 ‌Manage Jenkins > Configure System ‌,在 ‌Global properties > Environment variables‌ 中添加:Name: PYTHONPATH Value: $WORKSPACE

解决方案:

  1. 进入 Jenkins 控制台 → ‌Manage Jenkins ‌ → ‌Global Tool Configuration ‌ → ‌JDK‌。
  2. 点击 ‌Add JDK ‌,取消勾选 ‌Install automatically‌。
  3. 输入名称(如 JDK11)和 ‌完整的 JDK 主目录路径(不带bin)
相关推荐
新时代牛马7 小时前
Linux VFS 完整篇:从path_openat、dentry/inode 到page cache 与挂载排障
linux·运维·服务器
cloudfantasy8 小时前
docker直接二进制安装,非编译。KylinV10SP3 aarch64有效
运维·docker
新时代牛马9 小时前
Linux 驱动中断与定时完整篇:从 request_threaded_irq 到hrtimer 选型与排障
linux·运维·服务器
考虑考虑9 小时前
nginx打印请求日志
运维·后端·nginx
数字补给站11 小时前
Windows 10 + Hyper-V + Terraform + cloud-init:批量产出 3 台 Ubuntu 的实践笔记
运维·ai编程
海鸥8115 小时前
AIOps(智能运维)理解
运维·人工智能
码农小韩15 小时前
Linux应用开发(一)——Linux的标准IO
linux·运维·服务器
路弥行至15 小时前
Linux (ARM64 / Jetson) 挂载 exFAT 移动硬盘排障与离线安装指南
linux·运维·服务器·经验分享·笔记·jetson·exfat
漫谈数据智理15 小时前
主动元数据为何是数据编织的核心——从“连接数据”走向“感知、理解与行动”的 Data Fabric
运维·fabric
数据库小学妹15 小时前
MySQL长事务复盘:Sleep连接、MDL排队与undo滞留
运维·数据库·mysql