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

在Gatling方案和仿真之间传递参数

阎彬炳
2023-03-14

我已经创建了一个有几个exec和pause的场景;

object MyScenario { 

  val ccData = ssv("cardcode_fr.csv").random
  val nameData = ssv("name.csv").random
  val mobileData = ssv("mobile.csv").random
  val emailData = ssv("email.csv").random
  val itemData = ssv("item_fr.csv").random  

  val scn = scenario("My use case")
    .feed(ccData)
    .feed(nameData)
    .feed(mobileData)
    .feed(emailData)
    .feed(itemData)
    .exec(
      http("GetCustomer")
        .get("/rest/customers/${CardCode}")
        .headers(Headers.headers)
        .check(
          status.is(200)
        )
     )
     .pause(3, 5)
     .exec(
      http("GetOffers")
        .get("/rest/offers")
        .queryParam("customercode", "${CardCode}")
        .headers(Headers.headers)
        .check(
          status.is(200)
        )
      )
}

我有一个简单的模拟:

class MySimulation extends Simulation {
  setUp(MyScenario.scn
    .inject(
        constantUsersPerSec (1 ) during (1)))
    .protocols(EsbHttpProtocol.httpProtocol)
    .assertions(
      global.successfulRequests.percent.is(100))

}

我试图模拟的应用程序是一个多位置移动应用程序,所以我已经为每个地区准备了一组示例数据(美国,弗雷泽,它...)

提前谢了。

共有1个答案

汪正雅
2023-03-14

从你所说的来看,我认为这可能是一个很好的方法:

首先对数据进行分组,这样您就可以根据当前区域设置查找要发送的每个项目。为此,我建议使用一个映射,将区域设置字符串(例如“FR”)匹配到与您要填写的字段的区域设置匹配的项。然后,在场景的每个迭代开始时,只需从列表中选择要用于当前迭代的区域设置。它看起来如下所示:

val locales = List("US", "FR", "IT")
val names = Map( "US" -> "John", "FR" -> "Pierre", "IT" -> "Guillame")

object MyScenario {
    //These two lines pick a random locale from your list
    val random_index = rand.nextInt(locales.length);
    val currentLocale = locales(random_index);
    //This line gets the name
    val name = names(currentLocale)
    //Do the rest of your logic here
}

这是一个非常简单的示例--您必须弄清楚如何从文件中检索数据并将其放入映射结构,因为我假设您不想将每个字段的每个项硬编码到代码中。

 类似资料:
  • 试图在Gatling中运行多个模拟,但在运行每个模拟之前,我想做一个过程。在扩展模拟时,有没有一种扩展方法可以让所有扩展模拟的类都运行这段代码?

  • 问题内容: 抱歉,如果我的问题是菜鸟。我正在使用pgsql 8.4运行Django 1.2,并且需要在从用户处获得输入后运行Java程序,进行一些计算并将结果返回给用户。 我是否可以知道在Java和Python Django之间传递数据的最佳方法是什么,以便解决上述情况?我听说过Jython,但是根据Django文档,它需要扩展名jython- Django,但目前不支持django1.2.x。我

  • 问题内容: 我有一个C结构。 我想将数据从Java映射到C结构,如何使用JNI进行处理?我不会编程Java代码。Java程序员只是想知道他应该以哪种形式向我发送数据?他是否应该期待更多细节 我目前正在通过用包含2列的CSV文件填充结构实例来测试我的代码。 我也想从我的C代码向Java应用程序返回3个double值。 问题答案: 向您的Java程序员提供以下声明: 在您的C代码中,您将能够使用传递的

  • 本文向大家介绍在两个iframe之间传递参数的方法有哪些?相关面试题,主要包含被问及在两个iframe之间传递参数的方法有哪些?时的应答技巧和注意事项,需要的朋友参考一下 通过postMessage与父级通过,父级传递消息 通过websocket通信 如果是同一个域名下 可用stroage,监听storageChange事件通信 通过web worker也可通信

  • 本文向大家介绍Android intent之间复杂参数传递方法详解,包括了Android intent之间复杂参数传递方法详解的使用技巧和注意事项,需要的朋友参考一下 本文详细讲述了Android intent之间复杂参数传递方法。分享给大家供大家参考,具体如下: Intent是Activity与Activity之间,Activity与Service之间传递参数的介质,而这两种通常实现的是Java

  • 我试图使用SceneBuilder和FXML构建一个简单的概念验证程序,由两个屏幕组成。第一个屏幕只是一个文本字段和一个按钮,它将您带到第二个屏幕,第二个屏幕只有一个标签,理想情况下,它将显示文本字段中的任何内容,当按钮被点击时。每个屏幕都有自己的FXML文件和自己的控制器。我读了很多关于FXMLLoader的文章,因为我的研究表明这是完成这一任务的理想方法,但我似乎仍然不知道如何正确地使用它。最

  • 问题内容: 我想单击一列并将单元格索引发送到新阶段。但是我无法将参数()传递给另一个控制器。我已经尝试了所有方法,但仍然无法正常工作。 主控制器 EditClientController 问题答案: 如果要在FXML文件中指定控制器(因此您不能使用Deepak的答案), 并且 要访问方法中的索引(因此您不能使用José的答案),则可以使用控制器工厂:

  • 我对Java&AnyLogic,还是一个新手,所以在这方面,请提高我的水平。 我尝试了和的多种组合,但没有成功。我现在试图将每个代理的X值提取到一个数据库中,然后使用该数据库由代理i收集代理j的X值,但我在这方面没有取得任何进展。 需要提取的值是s,但如果更容易的话,我可以将变量更改为整数。