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

加特林测试中馈线值未更新

通京
2023-03-14
          def installExtension() =
            exec(http("template - Install Extension")
              .post(url + "/v1/extensions")
              .basicAuth("jack", "password")
              .headers(namespaceHeader)
// using testUtils to get InputStream conte
              .body(InputStreamBody(TestUtils.toStream(hashMap.get("${extensionId}").getOrElse(null))))
              .check(status.is( 201)))


 class extmgrSimulations extends Simulation {

          val extensionIds = csv(s"${Configuration.dataDirectory}/extensionId.csv").circular


          val extMgrScenerio = scenario("extensionMgr - Scenario")
            .during(Configuration.duration) {
              exitBlockOnFail(
                group("load-test") {
                  exec(
                    pace(Configuration.paceFrom, Configuration.paceTo),
                    feed(extensionIds),feed(extensionIds)
                      randomSwitch(
                      50.00 -> group("Install and delete") {
                        exec(
                          extmgrChain.installExtension(),
                          extmgrChain.deleteExtension(),
                        )
                      },
                      50.00 -> extmgrChain.listExtension()
                    )
                  )
                }
              )
            }

共有1个答案

陈坚
2023-03-14

那不行。Gatling EL(字符串中的${}语法)在任何地方都无法神奇地工作。文档中对此进行了解释。

警告

这种表达式语言只适用于传递给Gatling DSL方法的字符串值。当Gatling模拟被实例化时,这样的字符串只被解析一次。

例如queryParam(“纬度”,session)=

此外,queryParam(“latitude”,“${latitude}.toInt”)不会这样做,因为toInt会在将参数传递给queryParam方法之前发生。

这里的解决方案是传递一个函数:

会议=

 类似资料:
  • 我有一个数组,我想用于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_标志、创建人、创建人、修改人、

  • 我对加特林和斯卡拉都是新手。我有一个清单,记录我的价值观。我想稍后迭代该列表以测试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的喂食策略。 谢谢你的帮助。