Gatling - 检查拆分值

Gatling - Split Value In Check

我有一个来自 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 select 中提取值,如下所示:

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

但是在我 select 编辑了上面元素中的值 "H15CNGE~SHATSA~220420150955~3332|H15CNGE~TSASHA~270420150715~338" 之后,我想将它拆分成多个部分,拆分字符为“|”,然后保存这两个部分以 2 个不同的名称进入会话。这可能吗?

我对 Gatling 和 Scala 还很陌生,所以目前这有点超出我的理解范围。任何帮助将不胜感激。

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

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

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

这从 css() 表达式中获取 String,对其执行 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