利用多个REST端点的结果制定JMeter测试计划

利用多个REST端点的结果制定JMeter测试计划,jmeter,Jmeter,这是否可能在JMeter中开发一个测试计划,该计划将有第一个测试的结果(一个ID)将在下一个测试中输入,以此类推,最多4个测试,因为每个测试生成一个唯一的ID,并且每个ID相互依赖。每一个都与以下内容相关:提交ID>执行ID>都将生成结果为通过或失败的完成ID。这些是RESTAPI调用。我需要运行并发用户负载测试。最后,我需要测量每个测试的延迟和吞吐量。它应该是这样的 Thread group Userdefined variables Http Sampler

这是否可能在JMeter中开发一个测试计划,该计划将有第一个测试的结果(一个ID)将在下一个测试中输入,以此类推,最多4个测试,因为每个测试生成一个唯一的ID,并且每个ID相互依赖。每一个都与以下内容相关:提交ID>执行ID>都将生成结果为通过或失败的完成ID。这些是RESTAPI调用。我需要运行并发用户负载测试。最后,我需要测量每个测试的延迟和吞吐量。

它应该是这样的

Thread group
     Userdefined variables
     Http Sampler
       Regex to get id
     Http Sampler
       Regex to get id

如果要测量所有采样器的响应时间,在采样器请求之间使用一个简单的控制器作为所有采样器的父级,请使用JSON后处理器解析api响应,将其分配给${variable_name},并在其他请求中使用它。

谢谢您的快速提示。通过将ID传递到正则表达式中,我可以实现一个步骤,但相同的正则表达式在第三个步骤中不起作用。让我在这里提供更多细节。基本上,第一个post命令提供提交ID>我将该ID使用到正则表达式中>在下一步中使用类似“/../2ndStep/submissionId'>的URL运行get命令,这是传递的>我在下一个get命令中使用相同的正则表达式,使用类似“/../3rdStep/submissionId/executions'>的URL,这应该是另一个executionId对我来说失败了。我不确定我遗漏了什么。

谢谢大家提出可行的解决方案。但是我需要以不同的方式来实现以下要求

当我使用JMeter对RESTAPI HTTP请求运行POST命令测试时,它会在响应中返回一个ID。此ID将用于完成作业的其他步骤。我目前正在将ID传递到正则表达式中,并按照上面的建议在每个步骤的采样器之间使用ID,然后测量延迟,但是依赖于该ID的GET步骤可能需要一些时间才能完成。因此,我不能将这些GET步骤放在一个线程中,因为其中两个步骤失败了,因为它们可能需要一些时间才能完成。是否有办法将POST命令与其余步骤分开,并在其余步骤上自动开始轮询GET命令以解决此问题。底线是我需要测量每个步骤的延迟和吞吐量。请让我知道是否有办法在JMeter中实现这一点? 再次感谢,
桑塔纳

是的,这是可能的,但是你的问题太广泛了,无法提供任何实际的例子(有很多方法,取决于你的测试计划),如果我像这样通过采样器中的变量值而不是变量名,那么测试就通过了。//第三步/${submissionId}/executions/。我希望这是通过下一个采样器的正确方式