以编程方式组成一个链

时间:2014-07-02 20:59:14

标签: gatling

我希望能够以编程方式组成一个链,以便以后包含在另一个链中。我知道它可能会那么难,但我似乎错过了一些东西。

理论上,我应该能够做到这样的事情:

var c = ??? // the part I can't figure out
List( 1, 2, 3 ).foreach {
  c.exec( http("Fetch something").get("..." + _ ) )
}

也就是说,我希望能够创建一个链,然后在循环中填充该链,而不是在源代码中对链进行硬编码。

我认为,我最大的困难是知道要分配给c的内容。我原以为它应该是

var c = new ChainBuilder()

但是根据documentation,我必须传递一个actionBuilders列表和下一个动作,暗示不可能构建一个空链,然后在一个单独的语句中构建它。

有没有办法让我的.foreach循环以我打算工作的方式工作?

1 个答案:

答案 0 :(得分:0)

答案是

import bootstrap._

然后

var c = bootstrap

但是必须修改循环,如下所示:

List( 1, 2, 3 ).foreach( x => {
  c = c.exec( ... )
})

原因与你必须做链接的事实有关。当你有

foo()
.bar()
.blip()

整个表达式的结果是来自blip而不是foo的返回值 - 当你想到它时很明显 - 所以我们附加的变量必须随着节点的移动而移动附接。

我希望除了我之外,某个地方的人能够看到这个例子。