【问题标题】:How to dynamically load GraphQL Queries from different files into JMeter for load testing?如何将不同文件中的 GraphQL 查询动态加载到 JMeter 中进行负载测试?
【发布时间】:2022-11-01 23:56:14
【问题描述】:

我的团队需要为我们的 GraphQL API 添加负载测试,我们决定使用 JMeter,因为它受 Azure 负载测试支持。

我们有几个 graphql 文件定义这样的查询:

请求.graphql

query Foo($id: Long!) {
  name
  time
}

带有用于单元测试的相应 test.json 文件,它定义了查询名称、请求的变量以及包含来自我们 API 的预期响应的断言

request.test.json

[
  {
    "Query": "Foo",
    "Variables": {
      "id": 001
    },
    "Assert": {
      "name": "bar",
      "time": "01/01/1999"
    }
  }
]

我们有几十个这样的单元测试,我们希望使用 JMeter 对我们的 API 进行负载测试。我们如何使用 JMeter 动态加载查询、变量和断言,并将其加载到 Azure 负载测试中?

这是我目前非常基本的测试计划,带有一个 graphql HTTP 请求。我想避免手动添加每个查询,以便在我们的 API 更改 graphql 和 test.json 文件时更新负载测试中的查询。

【问题讨论】:

    标签: testing graphql jmeter load-testing azure-load-testing


    【解决方案1】:

    看一眼:

    1. Directory Listing Config 插件(可以使用JMeter Plugins Manager 安装)
    2. __FileToString() function

      这个想法是将目录列表配置指向包含 GraphQL 查询的文件所在的文件夹。它将在每个虚拟用户的每次迭代中获取下一个文件并返回文件的路径。

      然后,您可以直接在采样器主体中使用上述 __FileToString() 函数读取文件内容:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-30
      • 2022-01-12
      • 2019-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      • 2018-06-10
      相关资源
      最近更新 更多