当前位置: 首页 > 知识库问答 >
问题:

加特林馈线耗尽值

高迪
2023-03-14

我有一个数组,我想用于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

共有1个答案

汪阳飇
2023-03-14

问题在于,您的馈线是使用队列策略定义的,该策略贯穿元素,如果没有更多可用的,则会失败:

val feeder_getA = baseArray.clone.queue

您需要使用循环策略,该策略可以追溯到开头:

val feeder_getA = baseArray.clone.circular

有关更多信息,请参阅文档。

 类似资料:
  • 我能够手动插入数据。 val testData2=jdbfeeder(“jdbc:oracle:thin:@10.87.54.8:1521:wahipaD”、“myHPHB_-MI_-syss”、“myHPHB_-MI_-SYST”、“myHPHB_-MI_-SYST”、“插入TRN_用户_帐户(用户帐户SID、登录ID、密码、ACNT_类型、租户ID、OPRTNL_标志、创建人、创建人、修改人、

  • 我对加特林和斯卡拉都是新手。我有一个清单,记录我的价值观。我想稍后迭代该列表以测试get操作。我该怎么做。 我基本上希望feeder对列表中给定的数据不断重复。 我试着用下面的方式创建feeder。但这是个例外 有人能帮我从列表中创建一个feeder吗

  • 在gatling中,我如何从feeder读取数据并在将其馈送到exec语句之前对其进行格式化?我想要类似于以下内容。其中我从feeder注入queryData的值,但在将字符串传递到get函数之前在输入上应用formatData函数。T 格式化的数据可能不会保留${queryData}字符串,因此我不能只从formatData返回带有queryData参数的字符串。

  • 你能帮我如何在exec块中从feeder获取数据吗?当我使用exec与会话输入参数不是问题,但当我想与ActionBuilder一起使用时,我不知道如何做到。文档说使用Gatling EL,但似乎只能与超文本传输协议一起使用。我想使用gRPC协议,所以我不能使用方法超文本传输协议()。 你知道怎么做吗? 我的代码:

  • 我只是试着实施下面的策略,从加特林的CSV反馈器中获取价值。 val csvFeeder=csv(“data/Pet1.csv”)。一批圆形 val csvFeeder=csv(“data/Pet1.csv”)。圆形的 两者似乎都很好。我们什么时候用“.batch.circular”代替“.circular”作为Gatling的喂食策略。 谢谢你的帮助。