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
解决方案:
- 进入 Jenkins 控制台 → Manage Jenkins → Global Tool Configuration → JDK。
- 点击 Add JDK,取消勾选 Install automatically。
- 输入名称(如
JDK11
)和 完整的 JDK 主目录路径(不带bin)