一、获取插件

通过JMeter Plugins Manager下载

百度自行下载《jmeter-grpc-request-1.1.2.jar》插件

链接:百度网盘 请输入提取码 提取码:z6ug 下载后放到lib/ext,重启Jmeter

二、配置GRPC接口

  1. 配置完插件后,重启jmeter工具,创建线程组添加GRPC request
  2. 填写IP、端口、proto根目录、方法
  1. IP、端口
  2. proto根目录
  1. 先在任意目录下创建一个文件夹,取名,我取的是“proto”,里面存放.proto的文件
  2. 然后去GRPC Request→Proto Root Directory→Browse导入proto文件夹的根目录(jmeter导入proto的时候里面的.proto文件是看不到的,直接导入就行了)
  3.  .proto文件:grpc是谷歌的一个开源的远程服务调用框架,可以让各个语言按照指定的规则通过http2协议相互调用,这个规则是用谷歌的一个数据描述语言写的一个.proto文件,grpc的目的就是为了让服务调用更方便。 目前支持的语言有C, C++,C#,Java, Node.js, Python,Go等,大部分语言都是通过插件根据.proto文件生成对应的代码,用生成好的代码,创建或调用grpc服务。(这个文件找开发要)
  1. 方法
  1. 可以通过手动拼写的方式:package.服务/接口
  2. 可以通过点击“Listing"自动读取proto文件下的.proto文件内的接口,自动拼写成一个list
  1. 填写参数
  1. 当我们选择了某个接口后,可以在对应的.proto文件,找到对应接口的入参要求
  2. 填写对应参数

三、发送请求

  1. 创建测试脚本:
  1. 添加线程组:右键单击测试计划 → 添加 → 线程(用户) → 线程组
  2. 添加GRPC Request:右键单击新建的线程组 → 添加 → 取样器 → GRPC Request
  3. 填写请求信息:主机、端口、proto文件夹、rpc方法、请求数据
  4. 保存测试脚本
  5. 运行测试
  1. 通过JMeter GUI在顶部栏点击启动按钮
  1. 通过命令行:bin/jmeter -n -t <test JMX file>.jmx -l <test JMX result>.csv -j <test log file>.log -e -o <Path to output folder>

四、参数格式自动生成

  1. 可以借助BloomRPC工具导入.proto文件后自动生成
  2. 导入后,点击任意接口,可以自动生成符合接口入参格式的数据
  3. 可以在jmeter工具内使用,制作脚本
  4. BloomRPC更像我们通常使用的postman工具,方便单接口的调试

五、GRPC Request 页面

#

选项

描述

1

Server Name or IP

gRPC服务器地址(域名或IP)

2

Port Number

gRPC服务器端口 (80/ 443)

3

SSL/TLS

开启SSL/TLS认证

4

Disable SSL/TLS Cert Verification

禁用SSL/TLS证书校验(自签名证书需开启)

5

Proto Root Directory

proto文件的根路径

6

Library Directory (Optional)

proto文件解析需要依赖的额外库的文件夹路径 (googleapis)

7

Full Method

用于请求测试的RPC方法

8

Metadata

Metadata可以用于token身份验证等方式,支持以下两种方式传输(UTF-8):
1. 使用键值对(Key: Value):
- key1: value1, key2: value2
2. 使用 JSON String:
- {“key1”:“Value1”, “key2”:“value2”}

9

Deadline

请求超时时间(单位:毫秒)

10

Send JSON Format With the Request

格式化的JSON请求数据