章节目录:

概要

Parasoft gRPC Transport Extension 为 SOAtest 中适用的消息传送客户端工具添加了对 Google 远程过程调用传输协议的支持。这样,在配置、发送和验证通过 gRPC 发送的消息时,您就能充分利用 SOAtest 的丰富接口。 

要求

  • gRPC 1.0.0 或更高版本
  • Parasoft SOAtest 2020.1 或更高版本

安装

可以从 UI 或命令行中安装此工件。

UI 安装

  1. 前往 Parasoft > 首选项
  2. 选择系统属性并点击添加 JARs
  3. 在打开的文件选择器中,选择 com.parasoft.soavirt.transport.grpc-<version>.jar
  4. 点击应用,重启 SOAtest。

命令行安装

将 com.parasoft.soavirt.transport.grpc-<version>.jar 文件添加到设置属性文件中的 system.properties.classpath 属性。例如:

system.properties.classpath=<path to jar>/com.parasoft.soavirt.transport.grpc-<version>.jar

使用说明

通过在工具的传输选项卡中启用 gRPC Transport,可以配置消息传送客户端工具(如消息传送客户端和 ProtoBuf 客户端)使用 gRPC Transport。从传输协议下拉菜单选择 gRPC,并配置可用选项。

如果系统有多个自定义扩展,请从选择实现下拉菜单中选择 gRPC。 

配置

共有五组设置需要配置:连接、流、日志和连接管理。每组设置描述如下。  

连接设置

Host指定 gRPC 服务器的主机名。
Port

指定上述主机的端口。端口的取值范围为 165535

Service Name

指定要调用的 gRPC 服务名称。

Method Name指定要调用的 gRPC 方法名称。

流设置

Call ID

输入用于在多个打开的 gRPC 调用之间切换的调用 ID。

默认 = <default>

Mode

指定流模式。可选项包括:

  • unary - 没有流。  发送一个请求,等待一个响应。
  • send - 以流的方式处理一个客户请求,无需等待任何响应。
  • receive - 不发送任何请求,等待服务器流的下一个响应。

默认 = unary

Notification

指定通知类型。可选项包括:

  • next - 发送或接收流中的下一条信息。
  • error - 发送客户端错误或检查预期服务器错误。
  • completed - 通知客户端流已完成或检查服务器流是否已完成。

默认 = next

传输层安全性设置

Auth Mechanism

指定用于连接 gRPC 服务器的授权机制。可选项包括 SSLinsecure。默认为 insecure

Trust Certificate File

指定标识 gRPC 服务器的 PEM 格式证书文件的路径。适用于使用自签名证书的 gRPC 服务器的情况。将此字段留空将对具有根授权机构颁发的公共证书的 gRPC 服务器使用系统信任库。

当 Auth Mechanism 设置为 insecure 时将忽略此字段。

日志设置

Log Level指定要将多少信息记录到控制台。默认为 2(警告)

连接管理设置 

保持连接

启用该选项可使 gRPC 通道保持连接,并在后续调用中重复使用

测试执行之后关闭连接

启用此选项可在所有调用完成后关闭 gRPC 通道

测试不同的 gRPC 方法

gRPC 方法能够以下列四种类型之一执行:

  • Unary
  • Server streaming
  • Client streaming
  • Bidirectional streaming

SOAtest 使用单个消息传送客户端(或 ProtoBuf 客户端)来测试一元 gRPC 方法。客户端请求被发送给 gRPC 服务器的该方法,然后测试将等待响应信息或错误信息。这是 gRPC 自定义传输的默认模式。

要测试以流的方式传输的其他三种 gRPC 方法类型,则需要多个消息传送客户端(或 Protobuf 客户端)。在每种情况下,客户端请求和服务器响应都是解耦的。配置用于发送请求的工具将没有任何响应有效负载,而配置用于接收响应的工具将忽略请求有效负载。在发送请求后,还必须从 SOAtest 发送完成通知,即使是只接收一条请求消息的服务器流方法类型也是如此。配置为接收完成通知的工具将等待该事件,或在收到其他响应消息时报错。这样,SOAtest 就能通过检查循环测试套件内的流是否已完成,从 gRPC 流中消耗动态数量的响应消息。

第三方内容

此扩展包括来自第三方的资源项,如下:

更多许可证详情可在该插件的 licenses 文件夹中获得。

  • No labels