希望你今天表现出色,我已经完成了 Gattle 的流定义,如下:
val grpcConf = grpc(managedChannelBuilder("url:80").usePlaintext())
val Authorization: Metadata.Key[String] = Metadata.Key.of("Authorization", Metadata.ASCII_STRING_MARSHALLER)
val thePayload = StartPairingRequest(Option(Device("plain")))
val fromClientSide = grpc("Speak")
.serverStream[StartPairingRequest, StartPairingResponse](RelayServerGrpc.METHOD_START_PAIRING, "gettingThePairingKey")
val speaker = scenario("BasicSimu")
.exec(
fromClientSide
.start(thePayload)
.header(Authorization)(s"Bearer $TokenKey")
)
.pause(5)
setUp(
speaker.inject(atOnceUsers(1))
).protocols(grpcConf)
}
但是,当我尝试运行时,出现此错误
java.lang.UnsupportedOperationException: There were no requests sent during the simulation, reports won't be generated
我已经查看了之前的错误报告,这里和这里,但找不到解决方案,“。”操作并不缺乏(我认为是这样),这可能是什么原因?
附加信息:我尝试将密钥更改为错误值,这使得 Gattle 返回与上面相同脚本内容的报告。
其他信息#2:可能有一个问题,我忘记将其放入加特林发送请求的摘录中,所以我也将其放入,但同样的问题仍然存在。
附加信息#3:我检查了回复,有内容与我给出的请求完全相同,但仍然没有报告。
您已将
.pause(5)
添加到您的场景中。但如果您的直播持续时间超过 5 秒,日志将不会包含直播结束事件。
由于您的模拟中没有其他内容,因此您会收到“模拟期间没有发送任何请求,因此不会生成报告”异常。
您可以添加以下内容以使虚拟用户等待流结束。
.exec(
fromClientSide // weird name but OK
.reconciliate(waitFor = StreamEnd)
)