jmeter压测GraphQL接口(两种方式)

前几天接到一个压测任务,系统接口使用的是GraphQL协议,如下所示:

QUERY(查询条件)
query candidate($request: com_xxxx_zservice_candidate_dto_GetCandidateRequest!) {
  com_xxxx_zservice_candidate_service_xxxx_getCandidate(request: $request) {
    candidate {
        jobNumber
        job {
            sideBusinessType
            job {
                jobNumber
                creatorId
                rootOrgId
                creator {
                    id
                    realName
                }
            }
        }
    }
  }
}

GRAPHQL VARIABLES(变量)
{
  "request": {
      "userId": 7150450XX,
      "jobNumber": "DD612530680J4028279XX02"
  }
}

至少有两种方式可以实现:

第一种是先在postman中请求成功后,导出此请求。

 把"data-raw"这段内容复制出来,放到jmeter的http请求body中(注意,header信息一定要填好)。

jmeter调用接口如下:

 

第二种,开发一个支持GraphQL协议的插件(在jmeter三方库中未发现可以支持GraphQL协议的插件,只能自己开发一个了...)。

待补充GraphQL协议的插件 二次开发详细步骤。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter是一款开源的性能测试工具,可以用于对Web应用程序、接口和服务器进行压力测试。在JMeter中,可以通过组合多个接口来进行压测。 下面是一种常见的JMeter压测组合接口方式: 1. 创建线程组:在JMeter中,首先需要创建一个线程组,用于模拟并发用户。可以设置线程数、循环次数等参数。 2. 添加HTTP请求:在线程组下添加HTTP请求,默认情况下,JMeter会发送一个HTTP GET请求。可以根据需要修改请求方法、URL、参数等。 3. 添加断言:可以在HTTP请求后添加断言,用于验证接口返回结果是否符合预期。常见的断言类型包括响应代码、响应消息、响应时间等。 4. 添加参数化:如果需要对接口进行参数化测试,可以使用JMeter提供的参数化功能。可以通过CSV文件、数据库等方式提供参数数据。 5. 添加监听器:可以添加监听器来收集和分析测试结果。常见的监听器包括查看结果树、聚合报告、图形结果等。 6. 添加逻辑控制器:如果需要对接口进行复杂的逻辑控制,可以使用JMeter提供的逻辑控制器。例如,循环控制器、条件控制器等。 7. 添加定时器:可以添加定时器来模拟用户的访问间隔。常见的定时器包括固定定时器、随机定时器等。 8. 运行测试计划:配置完成后,可以运行整个测试计划,JMeter会模拟并发用户发送请求,并收集测试结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值