Rest 如何使http请求中的搜索参数在jmeter中成为动态的

Rest 如何使http请求中的搜索参数在jmeter中成为动态的,rest,http,testing,jmeter,jsr223,Rest,Http,Testing,Jmeter,Jsr223,http请求: 等等。 这是jmeter中的http请求示例,它命中RESTAPI并获得JSON格式的响应 这里的挑战是Param1,param2,param3。。。。这些搜索参数的编号不是常数,它可能会根据调用的不同而变化,因此我正在创建一个csv文件,其中包含以分隔格式包含搜索参数的行 CSV文件类似于 参数1,参数2 参数1,参数2,参数3 参数1 从中删除所有“参数”,它应该是干净的 添加为要参数化的HTTP请求采样器的子级 将以下代码放入“脚本”区域: 添加为要参数化的请求的子级

http请求:

等等。 这是jmeter中的http请求示例,它命中RESTAPI并获得JSON格式的响应

这里的挑战是Param1,param2,param3。。。。这些搜索参数的编号不是常数,它可能会根据调用的不同而变化,因此我正在创建一个csv文件,其中包含以分隔格式包含搜索参数的行

CSV文件类似于
参数1,参数2
参数1,参数2,参数3
参数1
  • 从中删除所有“参数”,它应该是干净的

  • 添加为要参数化的HTTP请求采样器的子级
  • 将以下代码放入“脚本”区域:

  • 添加为要参数化的请求的子级
  • 将以下代码放入“脚本”区域:

  • 就这样,你现在应该得到你需要的。您不会在JMeterGUI中看到这些更改,您只能在运行时使用listener观察它们


  • 先生,您可以解释或分享一些链接来了解它是如何工作的,因为我无法理解它是如何工作的。
    vars
    是类的缩写,用于获取
    param1
    param2
    等变量值
    sampler
    是类的缩写,用于添加请求参数。请查看最常用的函数。谢谢先生向我解释这一工作方式,我相信这个解决方案可以解决我的问题
    1.upto(4, {
        if (vars.get('param' + "$it") != null) {
            sampler.addArgument(vars.get('param' + "$it"),'someValue')
        }
    })
    
    1.upto(4, {
        vars.remove("param" + "$it")
    })