API 测试时,有没有办法在 JMeter 中跟踪 HATEOAS 链接/重用响应?

Is there a way to follow HATEOAS links / reuse responses within JMeter when API testing?

我正在寻找一种在测试 API 时使用链接内容的方法,例如

GET /list-products/
{
  "_links": {
    "item": [
      {
        "href": "/items/item1’",
        "name": "item1",
        "title": "Item 1"
      }
    ]
  },
  "name": "list-products",
  "title": "Product List"
}

我想在其他待测试的调用中动态使用部分响应,例如GET /get-orders/$itemName -> GET /get-orders/item1

如果您需要从响应中提取此 /items/item1 并将其存储到名为 itemName 的 JMeter 变量中,请执行以下步骤:

  1. JSON JMESPath Extractor 添加为 returns 上述响应

    的请求的子项
  2. 配置如下:

    • 创建变量的名称:itemName
    • JSON JMESPath 表达式:_links.item[0].name
    • 匹配号:1

  3. 就是这样,您以后应该可以在需要的地方访问提取的项目名称 ${itemName}

JSON JMESPath Extractor 允许在需要时执行 JMESPath language queries so you can easily extract "interesting" parts from JSON responses. See The JMeter JSON JMESPath Extractor and Assertion: A Guide 文章以获取更多信息。