【问题标题】:Inject user index into body file in Gatling scenario在 Gatling 场景中将用户索引注入正文文件
【发布时间】:2017-10-25 10:00:14
【问题描述】:

我想使用 ELFileBody 并将一个变量放在一个 txt 文件中。 该文件包含一个soap 请求。

请求(场景)只执行一次,但与用户一样多。 我想将用户索引(执行位置)放入文件变量中。

类似这样的:

.set("myVar", userIndex) //myVar is the variable declared in the body file ( ${myVar} )

这是我现在的代码:

  val users = 1500
  val baseUrl = "http://127.0.0.1:7001"

  val httpProtocol = http
    .baseURL(baseUrl)
    .inferHtmlResources()
    .acceptEncodingHeader("gzip,deflate")
    .contentTypeHeader("text/xml;charset=UTF-8")
    .userAgentHeader("Apache-HttpClient/4.1.1 (java 1.5)")

  val headers_0 = Map("SOAPAction" -> """""""")

  val uri1 = "http://127.0.0.1:7001/myProject-ws/myProjectWebService"

  val scn = scenario("Scenario1Name")
    .exec(http("scn.Scenario1Name")
      .post("/myProject-ws/myProjectWebService")
      .headers(headers_0)
      .body(RawFileBody("File_0000_request.txt")))

  setUp(scn.inject(atOnceUsers(users))).protocols(httpProtocol)

如何将用户索引注入请求正文中的 myVar 变量?

【问题讨论】:

    标签: gatling scala-gatling


    【解决方案1】:

    最后,我使用了一个返回动态引用 (id) 的函数,并从我的场景中调用它。

    def getDynamicId(): String = {
      val formatter = new SimpleDateFormat("yyyyMMddHHmmss.SSS")
      val result = "PM".concat(formatter.format(Calendar.getInstance().getTime()))
      result
    } 
    
    //[...]
    
    scenario("ScenarioName")
      .exec(session => session.set("myVar", getDynamicId)) 
    
    // [...]
    
    .body(ElFileBody("BodyFile_0000_request.txt")))
    

    在正文文件中,我有变量${myVar}

    【讨论】:

      【解决方案2】:

      您需要读取文件,例如 val customSeparatorFeeder = separatedValues(pathToFile, separator).queue circular

      scenario("Scenario1Name")之后需要添加.feed(customSeparatorFeeder)

      你可以在这里阅读更多关于它https://gatling.io/docs/2.3/session/feeder/

      【讨论】:

      • 我在正文文件中没有分隔符。它是一个带有 SOAP 请求 (xml) 的文本文件 (txt)。我只想在用户发送请求时初始化一个变量并增加它。之后,用这个索引替换文件中的变量。
      • 如果您在一行中有正文,则分隔符可以是下一行
      • 对不起,我不明白...“一行分隔符可以是下一行”。我在正文文件中有一个变量,例如: ${myVar} 。它是一个xml节点的属性。
      • 我不明白如何设置变量...(在您的回答中)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 2019-03-28
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多