前几天接到一个压测任务,系统接口使用的是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协议的插件 二次开发详细步骤。