一、环境准备:
1.环境:jdk:1.8+,jmeter:4.2+,
2.csv: 按照以下这种方式编写case或者自定义其他的,准备好case
二、注意要点:
1.想实现数据参数化,可以直接csv中使用函数来操作,如下随机生成名字的函数可直接调用
{"projectName":"${__eval(${__RandomString(25,1234567890qwertyuiopasdfghjklzxcvbnm,projectName)})}",
2.参数关联,在jmeter里提取到数据后在csv直接写变量名即可:${projectIds}
三、jmeter的配置:
1).创建线程组,
2).csv的配置
3).接口分组或存在参数关联想抓取
简单控制器可按业务分模块
if逻辑控制器可实现读取指定的行列数据( if+csv标签)
四、踩过的坑:
1.请求数据读不进去,或都进去后格式不对,参照 2).csv的配置
2.参数化问题搞了很久,__eval 函数很好用
3.参数关联,没法分开读取指定的csv内容,参照 3).接口分组或存在参数关联想抓取
五、实现测试结果回写到csv,生成执行后的case文件
使用Java语言提前编辑好写入excel的程序,然后打包为jar包放置jmeter的lib目录下,再在jmetere中使用beanshell里导入程方法并进行调用
六、参数化优化补充:
1.对于要自动生成的字段,先在jemeter中使用beanshell 取样器中使用java进行参数化,然后在csv中直接使用${projectName}传参
为实现一个参数全局变量,使用仅一次控制器放置在所有请求的最前面