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
我有一个来自 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