【问题标题】:Gatling Feeder running out of values加特林进纸器价值不足
【发布时间】:2019-06-02 20:35:51
【问题描述】:

我有一个要用于 2 个馈线的数组。我期望每个馈线都能够使用数组中的所有值。但似乎值用完了

val baseArray = Array (  Map("transactionId" -> "q-1"),
            Map("transactionId" -> "q-2"),
            Map("transactionId" -> "q-3"))


val feeder_getA = baseArray.clone.queue             
val scn_getInsuredOrPrincipals = scenario("getInsuredOrPrincipals")
    .feed(feeder_getA)  
    .exec(http("request_getA").get("/getA/${transactionId}"))

val feeder_getB = baseArray.clone.queue             
val scn_getInsuredOrPrincipals = scenario("getInsuredOrPrincipals")
    .feed(feeder_getB)  
    .exec(http("request_getB").get("/getB/${transactionId}"))   



setUp(
    scn_getInsuredOrPrincipals.inject(
            atOnceUsers(3), // 2
            rampUsers(3) over (5 seconds)
    ),
    scn_getInsuredOrPrincipal.inject(
            atOnceUsers(3), // 2
            rampUsers(3) over (5 seconds)
        )
)   


I get an error saying feeder is now empty after 3 values are consumed... i was assuming feeder_getA  and feeder_getB would each get 3 values so each scenario would get equal number of values. That doesnt seem like  its happening. Almot as if the clone isnt working

【问题讨论】:

  • 几乎看起来像 transactionId(地图的键),成为一个会话变量,两个馈线都引用一个物理地图。

标签: scala gatling


【解决方案1】:

问题是您的馈线是使用queue 策略定义的,该策略会遍历元素,如果没有更多可用则失败:

val feeder_getA = baseArray.clone.queue

你需要使用circular策略,这又回到了开头:

val feeder_getA = baseArray.clone.circular

更多信息see the docs.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多