2016-05-27 53 views
3

JMeter是否可以制定一个测试计划,该测试计划将在下一个测试中输入第一个测试(一个ID),等等,最多4次测试因为每个测试都会生成一个唯一的ID,并且每个ID都相互依赖。每一个都相关如下:提交ID>执行ID>都将生成结果通过或失败的完成ID。这些是REST API调用。我需要运行并发用户负载测试。最后,我需要测量延迟,每个测试的吞吐量。用多个REST端点结果开发JMeter测试计划

+0

是的,这是可能的,但你的问题太宽而不能提供任何实际的例子(有很多方法可以做到这一点,取决于你的测试计划的样子) –

回答

1

它应该看起来像这样。

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

如果要测量所有的采样器的响应时间有一个简单的控制器,因为所有采样

2

采样请求之间的母公司,使用JSON后处理器解析API响应,其分配给$ { variable_name}并在其他请求中使用它。

0

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

+0

如果我通过变量值在采样器中这样而不是变量名称,测试通过。 /../3rdStep/${submissionId}/executions/。我希望这是传递下一个采样者的正确方法 – Santana

0

谢谢大家提出的工作解决方案。但我需要以不同的方式来达到以下要求。

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

相关问题