如何解决Gatling场景中的Feeders和Requests组
我有不同的请求,我用这种模式单独测试:
feed(feeder)
.exec(
firstRequest,secondRequest
)
现在我有一个测试,它首先需要另一个具有相同模式的测试:
测试 1 > 测试 2
为了实现这一点,我创建了一个案例类并像这样启动它:
case class FilCall(startMsg: String,testData: Seq[TestData])
def setupScenario(filCalls: FilCall*): SetUp = {
lazy val filCallTests = filCalls.map { filCall =>
val feeder: Seq[Map[String,Any]] =
filCall.testData.map(oneFeed) // create one Feeder
group(filCall.startMsg) {
feed(feeder.iterator)
.exec(
start(filCall.startMsg),checkResult(..)
)
}
}
def scn = scenario(getClass.getSimpleName)
.exec(getToken)
.exec(filCallTests: _*)
setUp(scn.inject(withUsers(filCalls.size)))
.protocols(http)
}
这适用于一个 FilCall
,但抛出多个:
17:58:57.338 [ERROR] i.g.a.Gatling$ - Run crashed
java.lang.IllegalStateException: Feeder is now empty,stopping engine
at io.gatling.core.action.SingletonFeed$$anonfun$receive$1.applyOrElse(SingletonFeed.scala:67)
这种使用群组的场景是否可行?是怎么做的。
解决方法
当您使用带有默认队列策略的馈送器实例时,这是预期的错误,其中记录只能使用一次,并且您尝试提取的记录多于包含的记录,请参阅 doc。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。