我正在使用JMeter进行性能测试。我正在尝试运行一系列API的负载测试,这些API为特定场景提供了创建、更新和删除的过程。必须首先创建项,以便使接下来的2个请求工作并返回200。我使用普通线程组和事务控制器来添加HTTP请求。
更多说明:我请求了1个创建,2个更新和3个删除。请求2和3取决于首先运行1。我想有5个用户同时做测试。因此,用户1将去创建项目,然后移动到更新和删除后,在同一时间,其余的用户应该创建项目,然后去下2个请求,等等。
当我尝试使用多个线程运行测试时(10个线程,5秒的加速周期,循环计数为1),很多更新和删除请求都失败了,因为它们找不到为项目创建的ID。我将需要做的线程数量和爬坡期不仅10线程更大规模的测试。
我搜索了很多方法来同时运行多个线程,其中包括顺序运行的请求,但找不到任何结果。有人能帮我解决这个问题吗?
1条答案
按热度按时间cygmwpex1#
应该能正常工作
1.每个JMeter线程(虚拟用户)颠倒执行采样器(或根据逻辑控制器)
1.如果您将创建的项的ID提取到JMeter变量中,那么这也不会有问题,因为JMeter Variables是线程的本地变量,其他线程无法“看到”变量值
因此,要么您正在尝试运行缺少或未正确实现相关性的测试,要么您的应用程序中存在错误,并且它为并发用户创建的项返回相同的ID。您可以通过临时enabling saving of request and response data并向您的测试计划中添加JMeter Sampler来检查错误,这样您就可以看到每个请求的所有JMeter Variable值。