**在下面的代码中,当我尝试将bearer_token变量传递到POST请求执行中的头部时,请求失败。
但是,如果我将值而不是变量传递到头,则请求成功。我应该如何将变量传递给POST请求。**
class test extends Simulation{
val headersLogin = Map(
"Content-Type" -> "application/json",
"Authorization" -> "Basic YWRtaW46Tm9raWFOc3AxIQ=="
)
val headersCreateSubscription = Map(
"Content-Type" -> "application/json",
"Accept" -> "application/json"
)
var bearer_token = ""
val httpProtocol = http
.baseUrl("https://135.121.159.176") // Here is the root for all relative URLs
val scn =
scenario("Telemetry Viewer Load Testing")
.exec(
http("Get Access Token - POST ")
.post(":443/rest-gateway/rest/api/v1/auth/token")
.headers(headersLogin)
.body(StringBody(
"""{"grant_type": "client_credentials" }""".stripMargin)).asJson
.check(status is 200)
.check(jsonPath("$" ).saveAs("RESPONSE_DATA" ))
.check(jsonPath("$.access_token").saveAs("access_token"))
)
.exec( session => {
val token = session("access_token").as[String]
println( s"ACCESS TOKEN - $token")
bearer_token ="Bearer ".concat(token)
session
})
.exec(
http("CREATE SUBSCRIPTION - POST")
.post(":8619/telemetry-viewer/api/v1/restconf/data/telemetry-data-subscription:/subscriptions")
// .header("Authorization", "Bearer VEtOLWFkbWluNDdiOWY2ZDUtNTMyYS00NDJlLWI1MmItZmFmYTFjZTFlZGEz")
// .headers(headersCreateSubscription)
.headers(Map(
"Content-Type" -> "application/json",
"Authorization" -> s"${bearer_token}",
"Accept" -> "application/json"
))
.body(StringBody("""{"subscription": [{"name": "ap_11111", "collection-interval": 60, "telemetry": [ { "id": 1, "type": "telemetry:/base/system-info/system"}]}]}""".stripMargin)).asJson
.check(status is 201)
.check(jsonPath("$" ).saveAs("CREATE_SUBSCRIPTION_RESPONSE_DATA" ))
)
.exec(session => {
val response = session("CREATE_SUBSCRIPTION_RESPONSE_DATA").as[String]
println(s"CREATE SUBSCRIPTION - RESPONSE BODY: \n$response")
session
}
)
setUp(scn.inject(atOnceUsers(1)).protocols(httpProtocol))
}发布于 2020-09-04 03:43:55
不要使用全局变量/引用,它们将在所有虚拟用户之间共享
删除这个不起作用的exec代码块,并使用Gatling EL直接解析:
.header("Authorization", "Bearer ${access_token}")https://stackoverflow.com/questions/63725329
复制相似问题