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 变量中,请执行以下步骤:
将 JSON JMESPath Extractor 添加为 returns 上述响应
的请求的子项
配置如下:
- 创建变量的名称:
itemName
- JSON JMESPath 表达式:
_links.item[0].name
- 匹配号:
1
就是这样,您以后应该可以在需要的地方访问提取的项目名称 ${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 文章以获取更多信息。
我正在寻找一种在测试 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 变量中,请执行以下步骤:
将 JSON JMESPath Extractor 添加为 returns 上述响应
的请求的子项配置如下:
- 创建变量的名称:
itemName
- JSON JMESPath 表达式:
_links.item[0].name
- 匹配号:
1
- 创建变量的名称:
就是这样,您以后应该可以在需要的地方访问提取的项目名称
${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 文章以获取更多信息。