scala - Gatling 用户按顺序注入
问题描述
我有 1 个场景,我想用不同的用户负载进行测试。
val reports1 = createScenario("rep1")
val reports2 = createScenario("rep2")
val reports3 = createScenario("rep3")
def createScenario(name: String) : ScenarioBuilder = {
val newScenario = scenario(name)
.exec(
sse("My Scenario")
.open("/endpoint")
.headers(config.header))
.exec(sse("close").close())
newScenario
}
setUp(
reports1.inject(
atOnceUsers(1),
nothingFor(2 minutes),
atOnceUsers(10),
nothingFor(5 minutes),
atOnceUsers(50)
),
reports2.inject(
atOnceUsers(1),
nothingFor(2 minutes),
atOnceUsers(10),
nothingFor(5 minutes),
rampUsers(50) over(50 seconds)
))
.protocols(http.baseURL(config.url))
当我运行它时,注入是并行完成的。
我可能可以在 1 个块中合并所有用户注入并用 pause() 分隔,但这似乎不是一个好的解决方案
解决方案
注入不是并行完成的,场景是并行完成的。这就是 Gatling 的工作方式 - 作为一个setUp()
调用的参数传递的所有场景总是并行执行,如果您希望它们按顺序运行,而不是每个场景应该在单独的模拟类中。此外,您的示例也没有任何意义,因为您运行了 2 个仅名称不同的场景,如果您可以提供现实生活中的示例,我可能会推荐其他内容。
推荐阅读
- php - http 到 https 和 //domain.com 到 www.domain.com 和 subdomain.domain.com 通过 htaccess 到 subdomain.domain.com
- java - 如何在不使用 Java 的 reduce 方法的情况下获得相同的结果?
- python - 文本中每个字符后的替换字符(黑色菱形问号)
- flutter - 如何在颤振中使用地图功能返回小部件列表
- javascript - 在Vue中为===相等分配右值
- django - 我的 django 3 项目显示“ModelForm 没有指定模型类”
- jquery - 如何将类应用于具有 Jquery 属性的标签
- python - 部署到谷歌云时出现 Flask webapp 错误
- javascript - 使用 javascript/jQuery 使用数据库值填充表单字段
- javascript - 对 discord API 的 Axios GET 请求给出了 403 禁止响应,但在 Postman 中有效