我正在尝试将链分开并将其保存在可重复使用的变量中
package computerdatabase
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
import io.gatling.jsonpath._
class Test1 extends Simulation {
//Global Users
val userMap = scala.collection.concurrent.TrieMap[String, String]()
//Randomiser
val rnd = new scala.util.Random
val httpConf = http
.baseURL("http://demo1263864.mockable.io/") // Here is the root for all relative URLs
.acceptHeader("application/json") // Here are the common headers
.doNotTrackHeader("1")
.acceptLanguageHeader("en-US,en;q=0.5")
.acceptEncodingHeader("gzip, deflate")
.userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")
val headers_1 = scala.collection.mutable.Map("Content-Type" -> "application/json")
val chain1 = exec(
http("chain request ")
.post("gatling1")
.headers((headers_1 += "pList" -> "${pList}").toMap)
.body(StringBody("""{"${pList}"}"""))
.check(status.is(404)))
val scn = scenario("Simple request")
.exec(
http("If request ")
.get("gatling1")
.headers(headers_1.toMap)
.check(jsonPath("$.result").is("SUCCESS"),
jsonPath("$.data[*]").ofType[Map[String, Any]].findAll.saveAs("pList")))
.exec(chain1)
setUp(scn.inject(atOnceUsers(1)).protocols(httpConf))
}
这编译得很好,但在运行时给出了以下错误
16:35:25.156 [INFO] i.g.h.c.HttpProtocol - 开始热身
16:35:25.681 [INFO] i.g.h.c.HttpProtocol - 热身已经完成
16:35:25.731 [错误] i.g.h.a.HttpRequestAction - 没有命名的属性 'pList'已定义
16:35:25.732 [错误] i.g.h.a.HttpRequestAction - 没有命名属性 'pList'已定义
它没有给出任何行号,但我确定它的下一行有问题。
.headers((headers_1 += "pList" -> "${pList}").toMap)
当我在exec中使用chain1内联时,它工作正常。
来自加特林用户组的