scala - Gatling 2映射值到模板

  显示原文与译文双语对照的内容

我正在考虑转移到 ,但是我在获得基本测试工作时遇到问题。 我正在将值映射到转换器 2中的模板文件。 下面的示例显示了我在转换器 1.5中如何实现这一点,但是在 2中我不能解决这个问题。

LoginScenario.scala - 工作于 gatling 1.5


package StressTesting

import com.excilys.ebi.gatling.core.Predef._
import com.excilys.ebi.gatling.http.Predef._
import Headers._
import akka.util.duration._
import bootstrap._

object LoginScenario {

 val scn = scenario("Login")
. feed(csv("user_credentials.csv"))
. exec(
 http("login")
. post("/api/login")
. fileBody("loginTemplate",
 Map(
"userName" ->"${userName}",
"password" ->"${password}"
 )
 ).asJSON
. headers(post_header)
. check(status.is(200)))
 }

为Gatling和 2之间的更改提供了的错误- Reworked修改版本以适应变更


package StressTesting

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import Headers._
import scala.concurrent.duration._
import bootstrap._
import io.gatling.core.session.Expression

object LoginScenario {

 val scn = scenario("Login")
. feed(csv("user_credentials.csv"))
. exec(
 http("login")
. post("/api/login")
. body(ELFileBody("request-bodies/loginTemplate.ssp", 
 Map("userName" ->"${userName}","password" ->"${password}"))).asJSON
. headers(post_header)
. check(status.is(200))
 )
}

loginTemplate.ssp - 两个示例中使用的模板


{
"userName":"<%= userName %>",
"password":"<%= password %>",
"platformCode":"app",
"clientInformation": {
"operatingSystem":"OSX",
"operatingSystemVersion":"10.8",
"browser":"Chrome",
"browserVersion":"31",
 }
}

时间: 作者:

我们在 Gatling 2中丢弃了 Scalate,因为它非常麻烦。

请查看我们的wiki以了解新语法: https://github.com/excilys/gatling/wiki/Gatling-2#wiki-bodies

基本上,你可以在模板中写入正则表达式 EL,而不必显式传递参数:


.body(ELFileBody("request-bodies/loginTemplate.txt"))

loginTemplate.txt:


{
"userName":"${userName}",
"password":"${password}",
"platformCode":"app",
"clientInformation": {
"operatingSystem":"OSX",
"operatingSystemVersion":"10.8",
"browser":"Chrome",
"browserVersion":"31",
 }
}

作者:
...