问题描述
我是jmeter的新手,我正在使用jmeter测试电子商务网站。 我设法编写了一个方案的脚本,即在篮子中添加产品并测试响应时间。 现在,我发现当我单击UI上的“添加”按钮时,它们是两个已发布的请求。
例如:库存已更新。
到目前为止,我已经从库存中复制了身体并粘贴到jmeter采样器中,但是将来我可能会更改销售订单和更新方案,因此我要存储此主体数据(已更新的库存请求)动态请求,因为它会根据我提供的销售订单编号而更改。
问题是我无法动态存储身体数据(仅当我在此处更改销售订单时)。
我知道我可以在此问题上使用预处理器,但是任何人都可以通过代码帮助我从请求中获取BODY数据并在发送示例之前进行动态存储。
基本上,我需要一个解决方案,在该解决方案中,我只是更新销售订单号,其余的事情将得到动态处理,在我的情况下,是为更新库存而发布的主体数据。
提前谢谢!
解决方法
基本上,您正在谈论的是相关性。我从您的关注中可以理解。您需要添加到购物车的产品的数据。哪个需要上一个请求的数据。可以通过生成两个请求来轻松管理。从第一个提取,第二个使用该信息。这将不涉及任何硬编码,并且将以有效的方式为您工作。
,类似的东西:
vars.put('bodyData',sampler.getQueryString())
应该为您解决这个问题,如果您将这段代码放入JSR223 PreProcessor中,并将此PreProcessor作为HTTP Request采样器的子代添加,则需要存储该主体-您将可以访问稍后在需要时以${bodyData}
作为请求正文
在上面的示例中:
-
vars
-代表JMeterVariables类实例 -
sampler
-适用于HTTPSamplerProxy
更多信息:Top 8 JMeter Java Classes You Should Be Using with Groovy