我经常使用jmeter进行接口测试,这个工具还是很好用的。昨天收到一个需求,需要压测一下接口,jmeter进行接口测试,使用cvs文件进行多个数据参数化。
临时准备了一下发现忘记怎么做参数化了,自己百度许久做了一点成果,分享给大家。
第一步,新建一个测试计划。点击jmeter工具上的菜单:文件-->新建,就能创建新的测试计划,我给测试计划的名称:多线程调用限行接口
第二步,创建线程组,操作:选择测试计划右键-->添加-->线程组,添加后,只改线程用户为2(方便我后面参数化的时候查看),其他默认值不变。
第三步,给这个线程组加http请求、请求头、查看结果树(方便查看请求参数和响应结果),请求头不是必须添加的参数,因为接口请求数据格式有要求,所以添加的请求头
1、添加HTTP请求,右键线程组-->添加-->取样器-->HTTP请求
添加好HTTP请求后,设置一下要请求的接口数据和参数。我的接口是post请求,使用消息体。
2、添加请求头,右键线程组-->添加-->配置元件-->HTTP信息头管理
消息头添加的内容就像我截图的这样差不多的,约定数据格式用的,还有其他一些验证信息等
3、添加查看结果树,选择HTTP请求,然后右键-->添加-->监听器-->查看结果树
添加聚合报告,选择HTTP请求,然后右键-->添加-->监听器-->聚合报告,这个和上面操作一样,不贴图说明了
第四步,调试脚本,刚刚上面的三步设置完成后,我们先调试一下接口能不能正常调通,请求和响应数据是不是正确,这些可以在查看结果树里看结果。正常请求ok,标志是绿色的。
能调试通已经迈进一大步。进入第五步。
第五步,对请求里的参数进行参数化设置,添加cvs文件。
1、根据我自己的需求,我选了3个经常变的参数进行参数化,分别是carNo、engineType、plateNum,我自己命名的变量:carno、et、pn,
在引用变量的时候需要用${} 把变量包起来,这是约定的写法。注意,我的pn参数是字符串格式的,所以的我外层直接写了双引号。做好这个后,去准备csv文件。
我准备的CSV文件,注意这里每一列上面的列命名是和我上面参数化的设置一致的。
2、选择HTTP请求右键,添加-->配置元件-->CSV数据文件设置,添加成功后设置
这里写了1、2、3的标注,我讲一下意思
1是选择的我csv文件存放的路径,2是我上面设置的参数名和我的csv文件里的参数名是一致的,3是忽略首行的设置
上面这些做完后,我们执行查看结果,批量调用后参数是每次都跟着变的
聚合报告的数据,可以开始性能分析了