在公司内进行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():
v[key]=value
print(v)
然后将上边的代码保存为demo.py,执行: python demo.py com.xx.xx 100
可以看到打印的字典类型的值:{“package”:com.xx.xx,"totalEvent":100}
这样,就可以在脚本中拿到命令行的值进行参数处理了。
那么在jenkins中,进行参数配置:
在配置时,需要选择"参数化构建过程",比如我是这样设置的:
在需要使用这些参数的地方,这样使用:
比如,我使用的是windows命令,就是如上的"%标红的参数的名称%",如果你是在linux或macos系统的化,使用"$标红的参数的名称"来获取。
最后,在脚本就可以接收到传过来的参数了。