加特林负载测试中的动态 header
Dynamic header in gatling load test
我正在尝试使用以下代码在 gatling 中使用 json 馈线为每个请求动态生成 headers :
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
class LoadTest extends Simulation {
val httpConf = http
.baseURL("http://example.com")
val tokensFeeder = jsonFile("Tokens.json");
val user1 = scenario("Download")
feed(tokensFeeder)
.exec(
http("req")
.post("/download")
.headers("${header}")
.body(StringBody("""{ "Device_Type":"iOS","Locations":[{"Latitude":"51.50719197","Longitude":"-0.127214091"}] }""")).asJSON
)
setUp(
user1.inject(atOnceUsers(2))
).protocols(httpConf)
}
其中 Tokens.json 具有以下格式的数据:
[
{"header" : {"token" : "12234"}},
{"header" : {"token" : "12235"}},
{"header" : {"token" : "12236"}}
]
但是我收到以下错误:
type mismatch;
found : String("${header}")
required: Map[String,String]
11:23:07.862 [ERROR] i.g.c.ZincCompiler$ - .headers("${header}")
11:23:07.864 [ERROR] i.g.c.ZincCompiler$ - ^
11:23:07.908 [ERROR] i.g.c.ZincCompiler$ - one error found
11:23:07.910 [ERROR] i.g.c.ZincCompiler$ - Compilation crashed
sbt.compiler.CompileFailed: null
据我了解,feeders 包含一个映射向量,因此“${header}”不应该计算为 {token : 12234} 吗?
如有任何帮助,我们将不胜感激。
已修复 headers 的以下更改:
.headers(Map("token" -> "${header.token}"))
我正在尝试使用以下代码在 gatling 中使用 json 馈线为每个请求动态生成 headers :
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
class LoadTest extends Simulation {
val httpConf = http
.baseURL("http://example.com")
val tokensFeeder = jsonFile("Tokens.json");
val user1 = scenario("Download")
feed(tokensFeeder)
.exec(
http("req")
.post("/download")
.headers("${header}")
.body(StringBody("""{ "Device_Type":"iOS","Locations":[{"Latitude":"51.50719197","Longitude":"-0.127214091"}] }""")).asJSON
)
setUp(
user1.inject(atOnceUsers(2))
).protocols(httpConf)
}
其中 Tokens.json 具有以下格式的数据:
[
{"header" : {"token" : "12234"}},
{"header" : {"token" : "12235"}},
{"header" : {"token" : "12236"}}
]
但是我收到以下错误:
type mismatch;
found : String("${header}")
required: Map[String,String]
11:23:07.862 [ERROR] i.g.c.ZincCompiler$ - .headers("${header}")
11:23:07.864 [ERROR] i.g.c.ZincCompiler$ - ^
11:23:07.908 [ERROR] i.g.c.ZincCompiler$ - one error found
11:23:07.910 [ERROR] i.g.c.ZincCompiler$ - Compilation crashed
sbt.compiler.CompileFailed: null
据我了解,feeders 包含一个映射向量,因此“${header}”不应该计算为 {token : 12234} 吗?
如有任何帮助,我们将不胜感激。
已修复 headers 的以下更改:
.headers(Map("token" -> "${header.token}"))