gatling的异步操作
在gatling脚本中,之前提到的setUp方法是异步操作,这意味着同步操作的代码会在用户脚本执行前全部执行完毕
import io.gatling.core.Predef._
import io.gatling.http.Predef._
class test extends Simulation{
val httpProtocol = http.baseUrl("http://localhost:8009")
val scn = scenario("request")
.repeat(1){
exec(http("post").post("/dologin")
.body(StringBody("{\"username\":\"AAAA\",\"password\":\"A\"}")).asJson)
}
.exec{gogo =>
println("异步操作1")
println("异步操作2")
gogo}
println(httpProtocol)
println(scn)
setUp(scn.inject(atOnceUsers(1)).protocols(httpProtocol))
var a = 0
while (a < 100){
println(a)
a+=1
}
}
上述代码的执行顺序如下:
---------------------Start---------------------
配置httpProtocol
配置scn
println(httpProtocol)
println(scn)
打印a从0到100
开始执行用户脚本:
发送1次post请求
println(“异步操作1”)
println(“异步操作2”)
---------------------End ---------------------
这意味着如果想获取用户脚本运行时的数据,则必须也要在异步中进行获取,在同步操作中是获取不到的