jmeter 参数化graphql request

img

img

这里参数化使用了csv读文件,但是请求后没有传参,正常请求是有variables的

传参需要重新设置的

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
可以使用JMeter内置的转换器将从CSV文件读取的参数值添加到GraphQL请求中的variables

步骤如下:

  1. 首先,创建一个CSV文件,其中包含需要传递给GraphQL查询的参数值,例如:
id, name 
1, John 
2, Sarah 
3, Dave
  1. 在JMeter中创建一个线程组并添加一个CSV数据集配置元件。在CSV数据集配置元件中指定CSV文件的路径和分隔符。

  2. 接下来,添加一个HTTP请求,将请求方法设置为POST,URL设置为GraphQL服务的URL。

  3. 在HTTP请求中,添加一个HTTP标头管理器元件,将内容添加到标头中:Content-Type: application/json

  4. 在HTTP请求中,添加一个HTTP请求元件,并输入GraphQL查询语句,其中任何需要的参数都用${variable_name}替换。例如:

{
 "query": "query GetUserData($userId: ID!, $userName: String!) { 
            user(id: $userId, name: $userName) { 
              id, 
              name, 
              age 
            } 
          }",
 "variables": {
   "userId": "${id}",
   "userName": "${name}"
 }
}
  1. 接下来,在HTTP请求中,添加一个正则表达式提取元件,以便提取GraphQL响应中的任何所需数据。然后,将标签设置为包含要提取的数据的JSON路径。

  2. 最后,添加一个结果分析器元件,以分析响应时间和/或提取数据。

这是一个简单的JMeter测试计划,演示如何使用CSV文件参数化GraphQL请求中的变量。你可以根据自己的需求自定义此测试计划。

- Thread Group
   |
   -- CSV Data Set Config
   |
   -- HTTP Request
        |
        -- HTTP Header Manager
        |
        -- HTTP Request Defaults
             |
             -- Regular Expression Extractor
             |
             -- View Results Tree

如果我的回答解决了您的问题,请采纳!