【问题标题】:How to make the search parameters in http request as dynamic in jmeter如何使http请求中的搜索参数在jmeter中成为动态的
【发布时间】:2018-11-20 05:11:59
【问题描述】:

http 请求:http://ipAddress:Port/SomeResource?Param1=value1&Param2=value2&......

等等。 这是 jmeter 中的一个 http 请求示例,它访问了一个 rest api 并以 JSON 格式获得响应。

这里的挑战是 Param1、param2、param3 .... 这些搜索参数编号不是恒定的,它可能会根据调用而改变,所以我正在制作一个 csv 文件,其中包含包含逗号分隔格式的搜索参数的行。

CSV file is like
param1,param2
param1,param2,param3
param1

我正在使用 CSV 数据配置从 csv 文件中提取数据并将其放入 http 请求中

并将其放入 http 请求中

现在,如果参数为空,我不想在 http 请求标头中看到这个 那么如何在 jmeter 中做到这一点。

【问题讨论】:

    标签: rest http testing jmeter jsr223


    【解决方案1】:
    1. HTTP Request 中删除所有“参数”,它应该是干净的

    2. JSR223 PreProcessor 添加为您要参数化的 HTTP 请求采样器的子项
    3. 将以下代码放入“脚本”区域:

      1.upto(4, {
          if (vars.get('param' + "$it") != null) {
              sampler.addArgument(vars.get('param' + "$it"),'someValue')
          }
      })
      
    4. JSR223 PostProcessor 添加为您要参数化的请求的子项
    5. 将以下代码放入“脚本”区域:

      1.upto(4, {
          vars.remove("param" + "$it")
      })
      
    6. 就是这样,你现在应该得到你需要的东西了。您不会在 JMeter GUI 中看到更改,您只能在运行时使用 View Results Tree listener 观察它们

    【讨论】:

    • 先生,您能否解释或分享一些链接以了解它是如何工作的,因为我无法理解这个东西是如何工作的。
    • varsJMeterVariables类的简写,用于获取param1param2等变量值。 samplerHTTPSamplerProxy 类的简写,用于添加请求参数。查看Top 8 JMeter Java Classes You Should Be Using with Groovy 了解最常用的功能。
    • 感谢先生向我解释它的工作方式,我相信这个解决方案可以解决我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    相关资源
    最近更新 更多