【发布时间】:2018-10-25 15:00:58
【问题描述】:
如何在 Gatling 中访问多个 api,例如 example.com/1000/getUser、example.com/1001/getUser?他们是获取电话。 注意:数字从非零整数开始。
【问题讨论】:
标签: load-testing gatling
如何在 Gatling 中访问多个 api,例如 example.com/1000/getUser、example.com/1001/getUser?他们是获取电话。 注意:数字从非零整数开始。
【问题讨论】:
标签: load-testing gatling
根据您问题中的少量信息,很难给出好的建议,但我猜想通过馈线传递用户 ID 可能是一个简单、直接的解决方案。很大程度上取决于你的 API 是如何工作的,你正在计划什么样的测试,以及你需要测试多少用户(我假设这些数字是 userId)。
如果您需要数百万用户,生成增量的自定义馈线可能会更好,但除此之外,策略将是相同的。我建议您阅读 feeder-documentation 以获取有关一般用法以及如何制作自定义 feeder 的更多信息:https://gatling.io/docs/3.0/session/feeder/
例如,如果您只需要相对少量的用户,那么按照这些思路可能是一个简单、直接的解决方案:
使用您的所有用户 ID 创建一个简单的 csv 文件(例如名为 userid.csv)并将其添加到资源文件夹:
userid
1000
1001
1002
...
...
.feed() 步骤将 csv 文件中的一个值添加到您的 gatling 用户会话中,您可以像通常使用会话值一样获取该值。此示例中注入的十个用户中的每一个都将从 csv 文件中获得一个增量。
setUp(
scenario("ScenarioName")
.feed(csv("userid.csv"))
.exec{http("Name of your request").get("/${userid}/getUser")}
)
.inject(
atOnceUsers(10)
)
).protocols(http.baseUrl("example.com"))
【讨论】: