Scala 使用csv进纸器检查计数,即转换为整数

Scala 使用csv进纸器检查计数,即转换为整数,scala,gatling,Scala,Gatling,我正在使用Gatling 2.0.0-SNAPSHOT(几个月前的版本),我有一个CSV文件: search,min_results test,1000 testing,50 ... 理想情况下,我希望检查结果的数量是否等于或大于min_results列,例如: .get(...) .check( jsonPath("$..results") .count .is(>= "${min_results}".toInt) 最后一行不起作用,因为它可能不是有效的Sca

我正在使用Gatling 2.0.0-SNAPSHOT(几个月前的版本),我有一个CSV文件:

search,min_results
test,1000
testing,50
...
理想情况下,我希望检查结果的数量是否等于或大于min_results列,例如:

.get(...)
.check(
    jsonPath("$..results")
    .count
    .is(>= "${min_results}".toInt)
最后一行不起作用,因为它可能不是有效的Scala,而且也是
“${min_results}”。toInt
尝试将
${min_results}
而不是其值转换为
Int

我只想解决转换
到int
的问题,但这可能会导致脚本的健壮性稍差。但是,我可以添加一个
max_results
列,并使用(xx到yy)中的

谢谢

在这种情况下,toInt肯定不起作用,因为在解决EL之前它会被称为toInt

但是,此代码段将实现您想要的:

.get(...)
.check(
    jsonPath("$...results")
    .count
    .greaterThanOrEqual(session => session("min_results").as[String].toInt))

在这里,使用as[Int]的效果与预期一样,因为此时已从会话中解析了min_results属性。

感谢您花时间回复,但是这似乎是错误的“java.lang.String不能转换为java.lang.Integer”。这可能是什么原因?谢谢。啊,我的错。min_结果确实存储为字符串。您必须求助于toInt调用才能将字符串转换为整数。我将修改我的答案,使之成为一个完全有效的解决方案。