【问题标题】:Gatling .sign issueGatling .sign 问题
【发布时间】:2020-03-22 19:00:19
【问题描述】:

我正在尝试按如下方式构建一个 Get 请求,我希望通过馈送器 .feed(CaseProviderSeq) 填充 CaseReference 值,但由于某种原因,它没有选择 CaseReference 值并在下面的 .sign 语句中为我的 println 语句打印以下内容

PATH KJ: /caseworkers/554355/jurisdictions/EMPLOYMENT/case-types/Manchester_Multiples/cases/$%7BCaseReference%7D/event-triggers/updateBulkAction_v2/token

我的 feeder CSV 目前有以下行 1574761472170530 1574622770056940 所以我期待这个修改后的网址会像

/caseworkers/554355/jurisdictions/EMPLOYMENT/case-types/Manchester_Multiples/cases/1574761472170530/event-triggers/updateBulkAction_v2/token

知道我在这里做错了什么吗??

  .get(session =>    SaveEventUrl.replace(":case_reference","${CaseReference}").replaceAll("events", "") + s"event-triggers/${EventId}/token")
  .header("ServiceAuthorization", s2sToken)
  .header("Authorization", userToken)
  .header("Content-Type","application/json")
  .sign(new SignatureCalculator {
 override def sign(request: Request): Unit = {
    val path = request.getUri.getPath
   println("PATH KJ: " + path)
  request.getHeaders.add("uri", path)
 }
})

【问题讨论】:

    标签: gatling


    【解决方案1】:

    这与.sign 无关,但您的会话属性CaseReference 未被解释。如果您仔细观察,您可以看到 $%7BCaseReference%7D 中的大括号 %-encoded

    只有在需要Expression[Something] 时出现String 时才会解释Gatling Expression Language strings1

    您编写的这个错误在上述文档的警告中完全显示。

    我相信您可以简单地删除 .get 中的 session =>,因此您传入的是 String 而不是 Session => String2。该字符串将被隐式转换为Expression[String]。这样,Gatling 会将会话属性放入 URL。


    1. 发生这种情况是因为 Scala 隐式转换。
    2. 事实上它是Session => Validation[String],因为同样是隐式转换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-04
      • 1970-01-01
      • 2017-12-22
      相关资源
      最近更新 更多