我们的系统中存在并发问题。这种情况主要发生在来自外部系统的API中的突发负载期间,并且不能手动复制。
所以我想为1)创建一个Gatling测试,在我想要的时候复制它,并且2)检查我们是否解决了这个问题。
1)我完成了第一点。我创建了两个检查状态201的请求,并与许多用户一起运行它们。
2)这个问题允许创建两个具有相同唯一值的资源。预期的行为是创建一种行为,而其他行为则会在状态409中失败。但我不知道我们如何检查任何请求,但至少一次,完成201,而所有其他的失败与409。
我们能用Gatling对所有请求进行一种事后检查吗?
谢谢
发布于 2020-06-15 22:21:45
我认为您无法通过对调用本身进行检查来实现您想要的结果,因为gatling用户无法看到返回给其他用户的结果,因此您无法知道成功的(201)请求是否已经发出(除了使用检查转换器进行一些非常混乱的黑客攻击之外)。
但是您可以使用模拟级别断言来完成这一任务。因此,在您的请求中,您断言您期望得到201响应。
http("my request")
.get("myUrl")
.check(status.is(201))这将导致除一个请求之外的所有这些请求在模拟中失败,您可以使用断言指定.
setUp(
myScenario.inject(
...
)
)
.assertions(
details("my request").successfulRequests.count.is(1))发布于 2020-06-16 08:04:53
存储已在全局ConcurrentHashMap中看到的结果,并根据CHM中的存在计算is检查中的期望值(201表示缺失,409表示现有)。
https://stackoverflow.com/questions/62390369
复制相似问题