在 JMeter 测试计划中为 POST 方法设置 HTTP 请求采样器

Setting up HTTP Request Sampler for POST Method in JMeter Test Plan

我有一个 Web 应用程序,其中所有 pages/services 使用基于中央身份验证服务 (CAS) 的安全性进行保护。我需要使用 HTTP POST 请求在页面上执行负载测试,但不知道如何为此 POST 方法配置 HTTP 请求采样器,该方法可以通过 CAS 的安全性进行访问。 我可以从浏览器中手动获取访问页面的票证,如下所示:

https://<server>:<portX>/testweb-cas/oauth2.0/callbackAuthorize?ticket=ST-17-J5jknSbPrU1pQ5vFK0bL-testweb.au 

现在我想为 :

设置 HTTP POST 请求采样器

http://<server>:<portY>/Xyz/pages/details.xhtml 使用上面的 authorization link.

我以前没有在 JMeter 中使用过 HTTP 请求 POST 采样器,使用可用的解决方案也没有真正获得所需的输出。

最简单的方法:

使用 HTTP 测试脚本记录器,记录来自浏览器的流量并使用 HTTP Sampler.

构建 JMeter 测试计划

另一种方法是,手动将HTTP Samplers添加到Thread Group。 Select PostMethod 下拉。提及请求 Body data 部分的 body。如果要在请求中添加 Headers,请添加 HTTP Header Manager,例如 Authorization header.

注意:不要通过访问浏览器手动获取Authorization值。记录导航,以便为该请求添加 HTTP 采样器。添加 Regular Expression Extractor 以从响应中检索授权值并将其存储在变量中,以便您可以在 POST 请求中使用它。

注意: 添加 HTTP Cookie Manager(如果在记录期间尚未添加)以便 JMeter 自动处理基于 Cookie 的身份验证。

参考文献:

  1. HTTP Sampler
  2. Test Script Recorder
  3. Regular Expression Extractor