Gatling - 支票中的拆分价值

时间:2015-04-15 19:26:09

标签: css scala gatling

我有一个来自HTTP请求的HTML元素,如下所示:

<input type="radio" data-trip="0" id="fareRadioId_" name="pricefare" value="H15CNGE~SHATSA~220420150955~3332|H15CNGE~TSASHA~270420150715~338" class="pricefare" data-toggle="radio" checked="checked">

我习惯从CSS选择中提取一个值,如下所示:

.check(css("input#fareRadioId_0.select_departure", "value").saveAs("departSellKey"))

但是在我选择了上面的元素中的值后,我想将它分成几部分,然后才能将它分成两部分:#15; H15CNGE~SHATSA~220420150955~3332 | H15CNGE~TSASHA~270420150715~338&#34; ,拆分字符为&#34; |&#34;,并将这两个部分保存到具有2个不同名称的会话中。这可能吗?

我对加特林和斯卡拉来说还是一个新手,所以现在这有点高于我的头脑。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我不确定您是否能够使用不同的名称保存这两个部分,但是执行拆分并将结果存储为Seq相当容易,之后您可以使用索引等。

您需要做的是在支票中插入合适的transformer

.check(css("...").transform(_.split('|').toSeq).saveAs("sellKeys"))

这会从String表达式css()开始,在split()上创建一个Array[String],然后将其转换为Seq因为他们更适合使用: - )

然后Seq会保存到sellKeys,所以稍后您可以执行以下操作:(愚蠢的例子):

 .exec( session => {
    val keys = session("sellKeys").as[Seq[String]]
    println(s"keys are ${keys.mkString(" and ")}")
    println(s"the first key is ${keys.head}") 
    session 
    }
)

输出:

keys are H15CNGE~SHATSA~220420150955~3332 and H15CNGE~TSASHA~270420150715~338
the first key is H15CNGE~SHATSA~220420150955~3332