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

使用feeder确保Gatling中的CSV记录

汪栋
2023-03-14

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

我的CSV包含-

用户1密码1

用户2密码2

用户密码

我的进纸器gatling脚本是:

val userCredentails= csv("user_credentials.csv").random 
val scn = scenario("RecordedSimulation")
    .exec(http("request_0")
        .get("/thulasi/myhome.php")
        .headers(headers_0)
        .resources(http("request_1")
        .post(uri1 + "/scripts/index.php")
        .headers(headers_1)
        .formParam("Action", "Offline"),
        http("request_2")
        .get(uri1 + "/images/footer.jpg"),

    .pause(75)
    // Login
      .feed(userCredentails)
    .exec(http("request_3")
        .post("/thulasi/index.php")
        .headers(headers_0)
        .formParam("cand_user_cd", "${Username}")
        .formParam("passwd", "${Password}")
        .resources(http("request_4")
        .post(uri1 + "/scripts/index.php")
        .headers(headers_1)
        .formParam("Action", "Offline"))
        )


setUp(scn.inject(atOnceUsers(3))).protocols(httpProtocol)

}

共有1个答案

冯峻
2023-03-14

检查进料器文档:http://gatling.io/docs/2.2.0/session/feeder.html?highlight=feeders

只是不要在进纸器上使用随机:

val userCredentails=csv(“user_credentials.csv”)

  • 这将从第一条记录到最后一条记录,当CSV=中没有更多记录时崩溃,因此您必须确保您的测试不会加载更多记录,然后您有

或使用圆形:

val userCredentails=csv("user_credentials.csv")。循环

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

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

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

  • 是否可以将字符串数组从feeder传递到post请求。 我的csv文件: 我的加特林剧本 我收到的错误消息: 看起来Gatling没有正确地接收馈线数据,我猜断点是字符串数组值传递给Gatling post请求的方式,有什么方法可以实现这一点吗?

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

  • 我正在使用Gatling测试一个系统,该系统需要2个连续的Post请求,例如R1和R2。这些Post请求有不同的Json请求体,但有一个公共密钥“ID”。因此,一个用户应该按顺序执行R1-R2,并且每个用户应该生成一个新的随机ID。在R1中生成的这个ID应该传递给R2,因此作为ID密钥的值添加到其请求体中。 根据R1请求,在馈线内部生成随机ID: 现在,在R2中,我想输入的是R1的输入端内部生成的