云压测 gRPC 协议压测

使用 pts/grpc API 提供的接口,可以以创建 gRPC client,发送 gRPC 请求。

相关产品
云压测 产品页,含版本规格、价格与购买入口。

这篇会介绍 gRPC 协议请求的编排方法。

一、协议上传

将你定义好的 proto 文件,通过云压测 > 测试场景 > 新建测试场景 > 文件管理 > 协议文件上传。

注意:说明:

注意:关于 PTS 支持的协议类型及使用方法,请参见 使用协议文件。

二、脚本编写

先创建一个 gRPC client,然后你可以使用 client 提供的以下方法编写你的逻辑:

·load:加载并解析你上传的 proto 文件。

·connect:与 gRPC 服务器建立连接。

·invoke:发起 RPC 调用并获得响应。

·close:关闭连接。

Proto 文件及场景脚本的示例如下:

// based on https://github.com/go-kit/kit/blob/master/examples/addsvc/pb/addsvc.protosyntax = "proto3";package addsvc;// The Add service definition.service Add { // Sums two integers. rpc Sum (SumRequest) returns (SumReply) {}}// The sum request contains two parameters.message SumRequest { int64 a = 1; int64 b = 2;}// The sum response contains the result of the calculation.message SumReply { int64 v = 1; string err = 2;}

场景脚本:

// GRPC APIimport grpc from 'pts/grpc';const client = new grpc.Client();// 加载协议文件根目录中的 addsvc.protoclient.load([], 'addsvc.proto');export default () => { client.connect('grpcb.in:9000', { insecure: true }); const rsp = client.invoke('addsvc.Add/Sum', { a: 1, b: 2, }); console.log(rsp.data.v); // 3 client.close();};

三、文件依赖

在压测场景里,你可上传以下几种类型的文件,提供压测执行时的状态数据:

·参数文件:以 csv 文件的形式,动态提供测试数据。也即,场景被每个并发用户(VU)执行时,会获取参数文件里的每行数据,作为测试数据的值,供脚本里的变量引用。具体使用方法参见:使用参数文件。

·请求文件:构建你的请求所需的文件,如需要上传的文件。具体使用方法参见:使用请求文件。

·协议文件:请求序列化所需要用到的文件。具体使用方法参见:使用协议文件。

赞 (0)
上一篇 4天前
下一篇 4天前