1

我正在使用 JMETER 测试 Web 应用程序。

首先,我执行一个返回 JSON 数组的 http GET 请求,例如:

[
  {
    "key1": 
    {
      "subKey": 
      [
        9.120968,
        39.255417
      ]
    },
    key2 : 1

  },
  {
    "key1": 
    {
      "subKey": 
      [
        9.123852,
        39.243237
      ]
    },
    key2 : 10
  }

]

基本上我想随机取一个元素,取其中的元素key1并在 JMeter 中创建 2 个变量,这些变量将用于下一个查询(如果随机,则不可能仅是第一个元素)。

我尝试使用JSON Extractor以下设置(示例显示单个变量情况):

在此处输入图像描述

并在下一个 http GET 请求中将参数引用为${var1}.

如何设置JSON Extractor提取值,保存到 JMeter 变量中以在下一个 http GET 请求中使用?

4

2 回答 2

3
  1. 正确的 JSON 路径查询类似于:

    $..key1.subKey[${__Random(0,1,)}]
    
  2. 您需要将Apply to值切换到Main sample onlyMain sample and sub-samples

    在此处输入图像描述

在上述设置中:

  • Match No: 0- 告诉 JMeter 从key1子键中获取随机值
  • ${__Random(0,1,)}- 从数组中获取一个随机元素,即9.12096839.255417

更多信息:

于 2018-12-03T11:44:47.550 回答
1

您在此处打开的“要使用的 JMeter 变量名称”选项意味着您将检查此变量的内容 INSTEAD 的示例结果。

所以修复很明显:如果您打算提取从 Sample 结果中提取的任何内容 - 将其更改回它。

PS如果您打算相反(处理变量内容,而不是样本结果)-请告诉我。

于 2018-11-30T20:45:40.223 回答