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

如何使用feeder启动gatling场景

山森
2023-03-14

我有测试单个endpoint的简单场景。我对DSL有问题。不知道如何使用feeder启动场景。我必须先进行无用的调用才能编译它。

class GetDataSimulation extends Simulation {


  val httpProtocol = http
    .baseUrl("http://localhost:8080") // Here is the root for all relative URLs
    .header("Content-Type", "application/json")
    .header("Accept", "application/json")

  object GetData {
    val feeder = csv("data.csv").shuffle.circular
    val getData = exec(
      http("Home")
        .get("/")
    ) // first call .get("/") is useless. I've added it only to make it compile
      .pause(1.millisecond)
      .feed(feeder)  // start feeder, want to start scenario from here.
      .exec(
        http("GetData") // interpolate params using CSV feeder.
          .get("/api/v1/data?firstParam=${firstParam}&secondParam=${secondParam}") 
      )
      .pause(1)

  }

  setUp(
    constantUsers.inject(constantUsersPerSec(3).during(60.seconds))
  ).protocols(httpProtocol)

}

我怎样才能摆脱

exec(
      http("Home")
        .get("/")
    ) // first call .get("/") is useless. I've added it only to make it compile

共有1个答案

宋勇
2023-03-14

feed作为顶级功能提供,类似于exec本身:

    val getData = feed(feeder)
      .exec(
        http("GetData") // interpolate params using CSV feeder.
          .get("/api/v1/data?firstParam=${firstParam}&secondParam=${secondParam}") 
      )
      .pause(1)

您可以在Feeders文档中看到它。

 类似资料:
  • 我试图将URL从CSV文件输入到Gatling模拟中,我得到了以下错误: 11:48:01.967[错误]i.g.h.a.HttpRequestAction-“httpRequest-1”未能执行:未定义名为“Url”的属性 我的数据文件如下所示: 而我的模拟如下: 如果我调试模拟(我正在使用IntelliJ FYI),我可以看到有两条记录,每条记录都是一个,如果我深入研究,我可以看到和,因此进料

  • 我用CSV在加特林创建了一个简单的馈线。脚本运行良好,没有出现任何错误。我知道在负载测试期间会从CSV获取值。但我如何才能确保每个用户都得到了哪些价值呢。我必须确保第一个用户应该使用用户名:user1和密码:password1登录。因为我对加特林非常陌生,所以我找不到解决这个问题的办法。因此,请帮我找到解决方案,提前谢谢。。。。。。 我的CSV包含- 用户1密码1 用户2密码2 用户密码 我的进纸

  • 如何根据JSON文件编写自定义Gatling进纸器,该文件具有某些已存根且需要在发送前替换的值?例如 我想这行不通,因为它在文件中不是有效的JSON。我试过:

  • 我想将我的csv文件中的n行注入到Gatling feeder。Gatling的默认方法是一次读取和注入一行。然而,我在任何地方都找不到,如何将eg.数组注入模板 我创建了一个JSON模板,其中一些字段使用了Gatling表达式。问题是我有一个包含N个元素的JSON数组: 还有我的csv: 我想让它尽可能高效。我的数据在CSV文件中,所以我想使用进纸器。此外,大小很大,所以是不可能的,因为我正在获

  • 在加特林有这样的高管: 并像这样使用进料器: csv文件如下所示: 我尝试运行一个模拟,对于一些用户,使用两个参数(csv文件中的第一行)执行请求,而其他用户仅使用一个参数执行请求。我想随机模拟不同的场景。 实现这一目标的最佳方法是什么?我知道,由于csv文件结构不平衡,它不会像现在这样工作。

  • 我想从内存中创建一个列表[Strings]上的新Gatling feeder。 在该场景中,我执行以下操作: 我的喂食器是这样的: val getGroupIdFeed:Iterator[Map[String,List[String]]]={Iterator.Continuously(映射(“组”)- 我的清单是这样的:我的清单[“a”、“b”、“c”] 我得到的结果是: 我的列表[“a”、“b”