使用馈线随机访问地图数组中的一条线

时间:2016-05-12 16:26:07

标签: scala gatling

我正在尝试做一个非常简单的操作,但是当我们是scala / gatling的初学者时,它会变得非常复杂。

我只需要在每次请求时随机选择地图数组中的一行......

我处理的JSON看起来像这样:

[
 { "name": "a", "age": 33 },
 { "name": "b", "age": 34 },
 { "name": "c", "age": 38 }
]

所以这是我想要做的草稿:

val user = feed(jsonFile("peoples.json"))
  .exec( session => {
    val someone = session[random()] // How to code that ?
    http(someone.age)
      .get("/users/${someone.name}")
  })

val scn = scenario("").exec(user)

会话似乎包含用户数据,但我不知道如何访问它以构建我的http请求的路径!

我已经看到许多不同的方法可以接近我想要达到的目标,但我找不到一个明确的工作示例。

2 个答案:

答案 0 :(得分:1)

一般情况下,在Scala中,如果你有tf.float32访问随机元素会像这样

v1 = tf.Variable(0.0, name="v1")
v2 = tf.Variable(0.0, name="v2")

Seq我相信它会给你import scala.util.Random val random = new Random val list = List(1, 2, 3, 4, 5) list(random.nextInt(list.length)) 作为输入。所以你要做类似

的事情
gatling

答案 1 :(得分:1)

检查饲养员文件:http://gatling.io/docs/2.2.0/session/feeder.html?highlight=feeders

您基本上可以使用随机进纸器:feed(jsonFile("peoples.json")).random

然后您可以使用DSL访问它:

val myFeeder = jsonFile("peoples.json").random
val userRequest = exec(http("someones ${age}")
      .get("/users/${name}"))

val scn = scenario("x").exec(feed(myFeeder),userRequest)