首页 > 解决方案 > 有没有办法在 API 测试时在 JMeter 中跟踪 HATEOAS 链接/重用响应?

问题描述

我正在寻找一种在测试 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

标签: jmeterjmeter-plugins

解决方案


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

  1. 添加JSON JMESPath Extractor作为返回上述响应的请求的子项

  2. 配置如下:

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

    在此处输入图像描述

  3. 就是这样,您应该能够在需要时访问提取的项目${itemName}名称

JSON JMESPath Extractor 允许执行JMESPath 语言查询,因此您可以轻松地从 JSON 响应中提取“有趣”的部分。如需更多信息,请参阅JMeter JSON JMESPath 提取器和断言:指南文章。

在此处输入图像描述


推荐阅读