通过JMeter Plugins Manager下载
百度自行下载《jmeter-grpc-request-1.1.2.jar》插件
链接:百度网盘 请输入提取码 提取码:z6ug 下载后放到lib/ext,重启Jmeter
二、配置GRPC接口
- 配置完插件后,重启jmeter工具,创建线程组添加GRPC request
- 填写IP、端口、proto根目录、方法
- IP、端口
- proto根目录
- 先在任意目录下创建一个文件夹,取名,我取的是“proto”,里面存放.proto的文件
- 然后去GRPC Request→Proto Root Directory→Browse导入proto文件夹的根目录(jmeter导入proto的时候里面的.proto文件是看不到的,直接导入就行了)
- .proto文件:grpc是谷歌的一个开源的远程服务调用框架,可以让各个语言按照指定的规则通过http2协议相互调用,这个规则是用谷歌的一个数据描述语言写的一个.proto文件,grpc的目的就是为了让服务调用更方便。 目前支持的语言有C, C++,C#,Java, Node.js, Python,Go等,大部分语言都是通过插件根据.proto文件生成对应的代码,用生成好的代码,创建或调用grpc服务。(这个文件找开发要)
- 方法
- 可以通过手动拼写的方式:package.服务/接口
- 可以通过点击“Listing"自动读取proto文件下的.proto文件内的接口,自动拼写成一个list
- 填写参数
- 当我们选择了某个接口后,可以在对应的.proto文件,找到对应接口的入参要求
- 填写对应参数
三、发送请求
- 创建测试脚本:
- 添加线程组:右键单击测试计划 → 添加 → 线程(用户) → 线程组
- 添加GRPC Request:右键单击新建的线程组 → 添加 → 取样器 → GRPC Request
- 填写请求信息:主机、端口、proto文件夹、rpc方法、请求数据
- 保存测试脚本
- 运行测试
- 通过JMeter GUI在顶部栏点击启动按钮
- 通过命令行:bin/jmeter -n -t <test JMX file>.jmx -l <test JMX result>.csv -j <test log file>.log -e -o <Path to output folder>
四、参数格式自动生成
- 可以借助BloomRPC工具导入.proto文件后自动生成
- 导入后,点击任意接口,可以自动生成符合接口入参格式的数据
- 可以在jmeter工具内使用,制作脚本
- 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): |
9 | Deadline | 请求超时时间(单位:毫秒) |
10 | Send JSON Format With the Request | 格式化的JSON请求数据 |