我有两个终点。
-/验证
-/验证/验证
/ authenticate 返回响应正文上的guid字段。 和 / authenticate / verification 要求该字段为请求正文。
我试图获得这样的Guid:
jsonPath("$..guid").saveAs("verificationGuid")
并将其传递给其他主体:
.body(StringBody(s"{\"guid\":${verificationGuid}, \"code\":\"123456\"}"))
这是代码块:
def login = {
exec(http("Authenticate")
.post("/authenticate")
.body(StringBody(userString))
.headers(headerLogin)
.check(status is 200)
.check(jsonPath("$..guid").saveAs("verificationGuid"))
)
.exec(http( "Authenticate verify")
.post("/authenticate/verify")
.headers(headerLogin)
.body(StringBody(s"{\"guid\":${verificationGuid}, \"code\":\"123456\"}"))
.check(status is 200)
)
}
但是它不起作用,我该怎么办?
答案 0 :(得分:2)
从s
中删除s"{\"guid\":${verificationGuid}, \"code\":\"123456\"}")
。如果s
在字符串前面,则每个${something}
占位符都将被视为内置于字符串插值的Scala,编译器将尝试用Scala变量替换它,在您的情况下不存在。如果没有s
,它将被视为原义字符串,而不是被Gatling EL Parser捕获,并被先前保存的Gatling会话属性取代。