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

从列表创建加特林馈线

慕高格
2023-03-14

我对加特林和斯卡拉都是新手。我有一个清单,记录我的价值观。我想稍后迭代该列表以测试get操作。我该怎么做。

我基本上希望feeder对列表中给定的数据不断重复。

我试着用下面的方式创建feeder。但这是个例外

      val setupDeleteExtensions = List.empty[String]

     // I populated some values to setupDeleteExtensions List 



      val extensionIds = Iterator.continually(for (extensionId<-extmgrChain.setupInstallExtensions) yield {
        Map("extensionId" -> extensionId)
      })

    val extMgrScenerio = scenario("extensionMgr - Scenario")
        .during(Configuration.duration) {
          exitBlockOnFail(
            group("load-test") {
              exec(
                pace(Configuration.paceFrom, Configuration.paceTo),
                feed(extensionIds)
                  randomSwitch(                
                  50.00 -> group("get and Acknowledge") {
                    exec(
                      extmgrChain.getExtension(),
                      extmgrChain.getAcknowledgement()
                    )
                  },
                  50.00 -> extmgrChain.getResource(),                  
                )
              )
            }
          )
        }

exception : 
 found   : Iterator[List[scala.collection.immutable.Map[String,String]]]
 required: io.gatling.core.feeder.FeederBuilder
    (which expands to)  () => Iterator[scala.collection.immutable.Map[String,Any]]

有人能帮我从列表中创建一个feeder吗

共有1个答案

姜德泽
2023-03-14

当你有

val extensionIds = Iterator.continually(for (extensionId<-extmgrChain.setupInstallExtensions) yield {
    Map("extensionId" -> extensionId)
})

每次你。feed并从迭代器中获取下一个值,它将在setupInstallExtensions中运行for循环——这将返回一个映射列表,而gatling只需要一个类似于

val extensionIds = extmgrChain.setupInstallExtensions.map(id => Map("extensionId" -> id)).iterator
 类似资料:
  • 我有一个数组,我想用于2个馈线。我希望每个馈线都能够使用数组中的所有值。但似乎值用完了

  • 我能够手动插入数据。 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_标志、创建人、创建人、修改人、

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

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

  • 我有几个. csv文件,我想在Gatling中用于相同的数据。这些文件中的每一个都有一定数量的ID,我希望可以公平地访问它们。我不想把它们都放在同一个文件中,因为. csv文件是由SQL查询生成的,虽然我在一个文件中可能有很多ID,但在另一个文件中我只有几个。对我来说重要的是,我从每个文件中都有一个随机样本和一种指定分布的方法。 我找到了一个如何执行此操作的示例,但在我的案例中应用它时遇到了困难。