gRPC 场景使用协议文件
gRPC 等协议需要用户上传协议文件,压测引擎依赖协议文件完成请求的序列化。支持用户上传文件或目录,文件名需要保持唯一,同名文件将会被新上传的文件覆盖。
如果用户上传 zip 文件,PTS 会解压文件,并展示解压后的文件结构。
如果目录或者 zip 包中包含非 Proto 文件,PTS 将忽略这些文件。
![](https://qcloudimg.tencent-cloud.cn/image/document/a6f8e985ca265dc15d02e767218220a5.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/a6f8e985ca265dc15d02e767218220a5.png)
如果主 pb 文件依赖其他 proto 文件,那么也需要一并上传(谷歌提供的标准 proto 文件:google/protobuf/*.proto 不需要额外上传,PTS 会自动加载)。用户只需要加载主 pb 即可, 主 pb 依赖的其他 pb 文件,会根据主 pb 文件中 import 的路径自动递归加载。
import grpc from 'pts/grpc';const client = new grpc.Client();client.load([],'addsvc/addsvc.proto');export default () => {client.connect('grpcb.in:9000', {insecure: true});const rsp = client.invoke('addsvc.Add/Sum', {a: 1,b: 2,});console.log(JSON.stringify(rsp));console.log(rsp.data.v); // 3client.close();};