持续集成 jenkins 动态参数实现可供选择的用例执行列表

难以怀瑾 · 2024年06月06日 · 最后由 今晚打老虎 回复于 2024年06月07日 · 5237 次阅读

## 1 参数化的项目
选择 This project is parameterized 作为一个参数化的项目
选择Choice Parameter选项参数化
填写Namepytest_code这将作为一个变量,后面有用到
Choices填写选项 一行一个选项

2 脚本读取拼接选项

build step构建步骤中选择 Execute shell(linu 系统选这个)

具体逻辑请查看下列代码注释

#!/bin/bash

# 解析选择的键值对 将Choice Parameter的 pytest_code通过':'分解到key 和 value两个字段 
IFS=':' read -r key value <<< "${pytest_code}"
# 输出键和值
echo "Selected Key: $key"
echo "Selected Value: $value"
# 执行cmd命令
echo "执行的命令: cd /python_project/tfblue_test  &&  /usr/local/python3.9/bin/pytest ${value}"
cd /python_project/tfblue_test  &&  /usr/local/python3.9/bin/pytest ${value}

# cd /python_project/tfblue_test  && /usr/local/python3.9/bin/python3 single_api_runall.py

注意 : pytest 需要填写绝对路径 或 将 pytest 加入环境变量中
使用which pytest即可获得绝对路径

  • 效果如下图 点击 运行后会让你选执行

感谢:teserthome 的灵感来源,感谢杨腾老师的解答

共收到 3 条回复 时间 点赞

你可以在配置文件内配置不同的用例路径/匹配规则,然后 jenkins 对应配置选择即可;
runner 根据 jenkins 所选的入参来执行对应的用例,可单条可批量

pytest.ini 内吗 加命令行参数那样吗

难以怀瑾 回复

是的,做好 section 和 option 的规则就 OK

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册