如果我想将接口用不同的账号,运行在不同的环境,那怎么弄?jmeter命令运行又不能传参数。又不太方便每次去手动改参数。
我想到了两个办法,第一个是通过python,根据不同的参数,生成文件,然后jmeter参数化地读文件执行。
第二种方法是,通过python,根据不同地参数,更新jmeter脚本相应地参数, 直接执行。
参数化有四种: 1.用户自定义变量 User Defined Variables中定义的参数值在test plan执行过程中不能发生取值的改变,因此一般仅将test plan中不需要随迭代发生改变的参数(只取一次的参数) 设置在此处;例如:被测应用的host和port值。 右键-->add-->Config Element 的最下边
2.用户参数 位置:添加-前置处理器-用户参数 用户参数,适用于参数取值范围很小的时候使用,这个也比较简单。
CSV Data Set Config/CSV数据配置文件 CSV配置文件,适用于参数取值范围较大的时候使用,该方法具有更大的灵活性; 位置:右键-->add-->Config Element 的最上边 需要建一个txt文件,然后将参数写入行,用","分开
然后在这里面填入Filename,设置变量名,用","分开
在需要调用地地方,填入参数,如:{{host}}
4.函数助手 函数助手_CSVRead的参数化,功能相比CSV Data Set Config较弱
这个有点难找,以前在Options里面,现在到了Tools里。 选CSVRead,选择文件路径,列从0开始计算。点击generate,就生成了变量,copy一下填入到相应地方。
然后写了一个 python 脚本来处理环境和参数,并写入文件中。
运行通过以后,就可以集成到CI上了,建一个pipline的job
并定义好参数
然后就可以定义执行了
这样执行起来还很快!
如果你对pipline不熟,当然我们也可以用传统的,可以构建后publish HTML report, 发送邮件等
JMeter3.0引入了Dashboard Report,用于生成HTML页面格式图形化报告的扩展模块。
该模块支持通过两种方式生成多维度图形化测试报告:
这样,就可以随时随地让它运行,并能快速拿到报告。
可是,在mac环境下,就是得不到报告,看来得好好研究了。