【问题标题】:How to store Body data in post request through jmeter如何通过jmeter将Body数据存储在post请求中
【发布时间】:2020-10-09 10:01:24
【问题描述】:

我是 jmeter 新手,我正在使用 jmeter 测试电子商务网站。 我设法编写了一个场景脚本,即在购物篮中添加产品并测试响应时间。 现在,我观察到,当我单击 UI 上的添加按钮时,它们是两个正在发布的请求。

例如:股票已更新。

截至目前,我已经从库存中复制了 BODY 并粘贴到 jmeter 采样器中,但将来我可能会更改销售订单和更新方案,因此我想存储这个 Body 数据(更新的库存请求)动态请求,因为它会根据我提供的销售订单号而改变。

问题是我无法动态存储 BODY 数据(仅当我在此处更改销售订单时)。

我知道我可以在这件事上使用预处理器,但是任何人都可以帮助我使用代码从请求中获取 BODY 数据并在发送样本之前动态存储。

基本上我需要一个解决方案,我只是更新我的销售订单号,其余的事情将得到动态处理,在我的情况下,发布 Body 数据以更新 STOCK。

提前谢谢你!

【问题讨论】:

    标签: groovy jmeter performance-testing beanshell jsr223


    【解决方案1】:

    基本上,您说的是相关性。从你的关心中我可以理解。您需要添加到购物车的产品数据。这需要来自上一个请求的数据。这可以通过生成两个请求来轻松管理。从第一个中提取并将该信息用于第二个。这不会涉及任何硬编码,并且会以有效的方式为您工作。

    【讨论】:

      【解决方案2】:

      类似:

      vars.put('bodyData', sampler.getQueryString())
      

      应该为您解决问题,如果您将此代码放入 JSR223 PreProcessor 并将此 PreProcessor 添加为您需要存储的主体的 HTTP Request 采样器的子级 - 您将能够访问请求主体${bodyData} 稍后在需要的地方

      在上面的例子中:

      更多信息:Top 8 JMeter Java Classes You Should Be Using with Groovy

      【讨论】:

      • 它对采样器不起作用,我收到 500 错误,我的请求选项卡显示 PUT DATA 为空白:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 2020-03-14
      • 2022-12-03
      • 2022-11-18
      • 1970-01-01
      相关资源
      最近更新 更多