Gatling - Session EL在头部内部无法识别

时间:2014-08-22 17:00:56

标签: scala chain gatling

我正在尝试将链分开并将其保存在可重复使用的变量中

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内联时,它工作正常。

来自加特林用户组的

Cross-posted

0 个答案:

没有答案