Gatling-gRPC 使用教程
gatling-grpcA Gatling load test plugin for gRPC项目地址:https://gitcode.com/gh_mirrors/ga/gatling-grpc
项目介绍
Gatling-gRPC 是一个用于 gRPC 负载测试的 Gatling 社区插件。自 Gatling 3.10 起,Gatling Corp 已发布其官方 gRPC 插件,因此该插件将不再更新。如果您需要,可以自由地 fork 并维护它。
项目快速启动
安装和配置
首先,确保您已经安装了 Gatling。然后,在您的项目中添加以下依赖:
libraryDependencies += "com.github.phisgr" % "gatling-grpc" % "0.17.0" % "test"
enablePlugins(GatlingPlugin)
代码生成
如果您的 protobuf 文件位于 src/test/protobuf
而不是 src/main/protobuf
,请更改 Compile
为 Test
:
Test / PB.targets := Seq(
scalapb.gen() -> (Test / sourceManaged).value
)
进行 gRPC 调用
以下是一个简单的 gRPC 调用示例:
exec(
grpc("my_request")
.rpc(ChatServiceGrpc.METHOD_GREET)
.payload(GreetRequest(
username = "myUserName",
name = "My name"
))
)
应用案例和最佳实践
完整示例
在 test
目录下,您可以找到 GrpcExample
示例,展示了如何正确包含会话属性(例如从 feeder 或保存的检查中)。
复杂操作
对于会话属性和 protobuf 对象的更复杂操作(例如重复字段和映射字段),请参阅单元测试 Dynamic Payload
。
典型生态项目
ScalaPB
ScalaPB 是一个用于生成 Scala 代码的 Protocol Buffers 编译器插件。它与 Gatling-gRPC 配合使用,生成动态 ScalaPB 对象。
Gatling-JavaPB
如果您想使用 Java Protobuf 类,可以使用 gatling-javapb
库。
Lenses
Gatling-gRPC 使用 Lenses 来处理 protobuf 对象,提供了强大的表达能力。
通过以上步骤和示例,您可以快速上手并使用 Gatling-gRPC 进行 gRPC 负载测试。
gatling-grpcA Gatling load test plugin for gRPC项目地址:https://gitcode.com/gh_mirrors/ga/gatling-grpc