我正在尝试创建三种方案:
我希望将第一种情况的请求从报告中排除。
我已经基本实现了要达到的目标,但是没有看到预期的结果:
val myFeeder = csv("somefile.csv")
val scenario1 = scenario("Get stuff")
.feed(myFeeder)
.during(30 seconds) {
exec(
http("getStuff(${csv_colName})").get("/someEndpoint/${csv_colName}")
)
}
val scenario2 = ...
val scenario3 = ...
setUp(
scenario1.inject(
constantUsersPerSec(20) during (30 seconds)
).protocols(firstProtocaol),
scenario2.inject(
nothingFor(30 seconds), //wait 30s
...
).protocols(secondProt)
scenario3.inject(
nothingFor(30 seconds), //wait 30s
...
).protocols(thirdProt)
)
我看到第一个方案在整个测试中都在运行。 30秒钟后还不停止吗?
对于第一种情况,我想循环浏览CSV文件并为每行执行一个请求。也许每秒5-10个请求,我该如何实现?
我也希望它在30年代后停止,然后并行运行其他两个。因此,上述最后两种情况下的nothingFor
。
另外,如何从报告中排除,有可能吗?
谢谢
由于注射配置文件和“获取材料”方案之间的设置组合,您可能无法获得预期的结果。
constantUsersPerSec(20) during (30 seconds)
每秒将在场景“获取资料”中启动20个用户,持续30秒。因此,即使在30秒内,也会有20位用户开始“获取资料”。当用户执行“获取材料”方案时,由于.during循环,他们在30秒的过程中反复发出“获取”请求。
因此至少,您将让用户执行“获取资料” 60秒-完全执行其他方案。根据getStuff调用的执行时间,它甚至可能更长。