我正在尝试如下构建Get请求,并且我希望通过Feeder .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 所以我希望这个修改后的URL就像
/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)
}
})
答案 0 :(得分:0)
这与.sign
不相关,但是您的会话属性CaseReference
未被解释。如果仔细看,您会在$%7BCaseReference%7D
中看到括号%-encoded。
仅当需要String
的情况下出现Expression[Something]
时,才对Gatling Expression Language strings进行解释。 1 。
您编写的该错误已完全显示在上述文档的警告中。
我相信您可以只删除session =>
中的.get
,所以您传递的是String
而不是Session => String
2 。该字符串将隐式转换为Expression[String]
。这样,加特林将会话属性放到URL中。
Session => Validation[String]
,因为它还是隐式转换。