GET 后 Scala Gatling POST 不起作用
Scala Gatling POST after GET doesn't work
我正在学习用于负载测试的 garling 框架,我在 GET 重定向后使用 json 发送 POST 请求时遇到问题,第二个请求 return 状态 400。部分发送 POST 没有 GET 可以正常工作。有人知道为什么它不起作用吗?
var token: String = ""
var tokenJson: String = ""
val scn2 = scenario("SCENARIO2")
.exec(http("open")
.get("/core/auth")
.check(status.is(302))
.check(header("Location").saveAs("url")))
.exec(session => {
token = session.get("url").as[String].split("/").last
tokenJson = """{"token":"""" + token + """"}"""
print(tokenJson)
session
}).pause(1 second)
.exec(http("openPOST")
.post("/core/init").header("Content-Type", "application/json")
.body(StringBody(tokenJson)).asJSON
.check(status.is(200))
.check(jsonPath("$.basketToken").saveAs("basketToken")))
.exec(session => {
val basketToken = session.get("basketToken").as[String]
println("BasketToken " + basketToken.orElse("nothing"))
session
})
我用这个解决了这个问题
StringBody(session => tokenJson)
我正在学习用于负载测试的 garling 框架,我在 GET 重定向后使用 json 发送 POST 请求时遇到问题,第二个请求 return 状态 400。部分发送 POST 没有 GET 可以正常工作。有人知道为什么它不起作用吗?
var token: String = ""
var tokenJson: String = ""
val scn2 = scenario("SCENARIO2")
.exec(http("open")
.get("/core/auth")
.check(status.is(302))
.check(header("Location").saveAs("url")))
.exec(session => {
token = session.get("url").as[String].split("/").last
tokenJson = """{"token":"""" + token + """"}"""
print(tokenJson)
session
}).pause(1 second)
.exec(http("openPOST")
.post("/core/init").header("Content-Type", "application/json")
.body(StringBody(tokenJson)).asJSON
.check(status.is(200))
.check(jsonPath("$.basketToken").saveAs("basketToken")))
.exec(session => {
val basketToken = session.get("basketToken").as[String]
println("BasketToken " + basketToken.orElse("nothing"))
session
})
我用这个解决了这个问题
StringBody(session => tokenJson)