jenkins中配置参数化,并在python脚本接收参数实现参数化执行

在公司内进行Monkey测试脚本集成jenkins时,因为需要指定公司内不同的app进行测试。那么可以有两种方法解决该问题,要么创建多个脚本文件,多个jenkins jobs,进行构建。要么可以在配置job时通过传参数的方式,在python脚本中接受参数进行处理。

第二种方式肯定是最优。

在python脚本中,通过 argparse模块可以通过命令行进行传参,拿到参数并在脚本中进行处理。

具体用法:

import argparse

parser=argparse.ArgumentParser()

parser.add_argument("package")

parser.add_argument("totalEvent")

... 还可以添加更多其它参数

args=parser.parse_args()

param=vars(args)

v={}

for key,value in param.items():

vkey=value

print(v)

然后将上边的代码保存为demo.py,执行: python demo.py com.xx.xx 100

可以看到打印的字典类型的值:{"package":com.xx.xx,"totalEvent":100}

这样,就可以在脚本中拿到命令行的值进行参数处理了。

那么在jenkins中,进行参数配置:

在配置时,需要选择"参数化构建过程",比如我是这样设置的:

在需要使用这些参数的地方,这样使用:

比如,我使用的是windows命令,就是如上的"%标红的参数的名称%",如果你是在linux或macos系统的化,使用"$标红的参数的名称"来获取。

最后,在脚本就可以接收到传过来的参数了。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

​

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
段一凡-华北理工大学4 小时前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化
深蓝AI4 小时前
ContextVar 到线程池就丢了?asyncio.to_thread 和 run_in_executor 实测
python
岁月宁静6 小时前
什么是 Agent:从"会聊天"到"会做事"
人工智能·python
木头左6 小时前
【Nginx】内网服务源 IP 白名单实战:动态域名解析放行网段 + 端口接管零改造
运维·nginx·白名单·反向代理
岁月宁静6 小时前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
来让爷抱一个6 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
禁默7 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81637 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
小肝一下8 小时前
3.基础语法(3)
python
翔云1234568 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql