在加特林有条件地保存响应

Posted

技术标签:

【中文标题】在加特林有条件地保存响应【英文标题】:Conditionally save response in Gatling 【发布时间】:2021-06-10 14:34:40 【问题描述】:

我有一个用例,应该根据会话变量的存在来保存来自 API 的响应。让我们假设我的会话变量是“sampleSession”。我需要这样的东西:

.exec(
        grpc("Client getOffers")
          .rpc(some.someApi)
          .payload(session => session("sample").as[sample])
          .header(ReqIdHeader)(Random.alphanumeric take 30 mkString "")
          .check(statusCode.saveAs("gRPCStatusCode"))
          .check(statusCode is Status.Code.OK)
          .doIf("$sampleSession.exists()")
             .extract(Option(_))(_ saveAs "Response")
           
      )

我知道这行不通,只是为了说明需求。有人可以帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

您可以通过checkIf 执行此操作。像这样:

checkIf("$sampleSession.exists()") 
          jsonPath("$..foo").saveAs("foo")
        

【讨论】:

以上是关于在加特林有条件地保存响应的主要内容,如果未能解决你的问题,请参考以下文章

有条件地保存辅助表对象

如何有条件地将属性保存到 DFM?

将组件保存到列表中,然后有条件地渲染

加特林机枪一分钟最高射速可以打六千发子弹吗?

git指南

是否有任何可能的方法可以从 Chrome 开发人员工具中的网络选项卡本地保存网络调用