目录
前言
日常接口测试/性能测试使用 jmeter 实现动态参数赋值,常规用法都是配置 csv 文件,然后接口直接从 csv 文件里面去获取,但是这种方式有一个弊端,就是脚本文件迁移的时候,必须一起带上 csv 才行,不然脚本位置变了,里面 csv 的文件路径没有同步更新,脚本执行就会受影响了。但是除去 csv 的方式,尤其是小数据量的情况下,是可以通过用户自定义变量或者用户参数来实现的,接下来使用他们来做演示,看各自不同组合配置产生的结果如何。
单线程 + 用户参数
场景说明
测试计划 (顺序执行: true)
|
+-- 线程组 (并发用户数: 1, 循环次数: 10)
|
+-- 用户参数(user parameter)
| 变量用户id对应的不同用户值: userId_1, ..., userId_n)
| 每次迭代更新一次:false/true,结果一样
|
+-- HTTP 取样器 (调用接口,并在入参处引用 ${userId})
|
+-- HTTP 取样器 2(后续接口调用...)
|
...
|
+-- HTTP 取样器 N (整个链路的最后一环)
实战结果
循环 10 次,每次的接口入参值都相同,且值为 userId_1
配置明细
单线程 + CSV Data Set Config
场景说明
测试计划 (顺序执行: true)
|
+-- 线程组 (并发用户数: 1, 循环次数: 10)
|
+-- CSV Data Set Config(变量为 userId)
|
+-- HTTP 取样器 (调用接口,并在入参处引用 ${userId})
|
+-- HTTP 取样器 2(后续接口调用...)
|
...
|
+-- HTTP 取样器 N (整个链路的最后一环)
实践结果
单线程 N 次循环 结合 CSV 外部参数化配置,可实现动态取参,且值不重复