在前一篇文章使用jMeter构造大量并发的随机HTTP请求里我通过jMeter构造了大量的HTTP GET并发请求,对服务器产生了大量读操作。
现在我有另一个需求场景:假设我开发了一个创建Service Request的微服务,需要使用HTTP post调用。为了防止Cross Site Request Forgery(跨站域请求伪造),这个微服务调用时需要传一个XSRF token,这个XSRF token需要另一个HTTP get请求从服务器请求。
因此,这里存在两个逻辑上相关的HTTP请求:
1. 先调用HTTP get从服务器读取XSRF token
2. 将第一步获得的XSRF token作为HTTP post 请求头部的一个参数传至服务器。
用jMeter怎么实现这个场景呢?
总的思路就是使用Transaction Controller,将http get请求和http post请求包在一起,如下图所示。
在第一个http get请求里,使用HTTP头部参数x-csrf-token去读取token。
创建一个参数jerrycsrftoken,使用正则表达式将服务器通过HTTP响应头部返回的token解析出来并保存。
然后创建第二个HTTP post请求,在请求头部使用第一个请求创建的参数jerrycsrftoken即可。
这是我HTTP post请求的body内容,里面使用了jMeter自带的随机数发生器作为创建成功的Service Request的后缀。
最后使用jMeter成功创建的Service Request在系统显示如图:
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
* 逻辑控制器(Logic Controller):包括两类无件,一类是用于控制test plan中的sampler节点发送请求的逻辑顺序的控制器,另一类是用来组织可控制sampler来节点的 * 配置元件(Config Element):用于提供对静态数据...
- 重启JMeter,在测试计划中即可看到新增的“AMQPPublisher”和“AMQPConsumer”两个组件。 #### 三、AMQP Publisher/Consumer请求详解 **1. Exchange(交换机)** - **不填写时**: 使用默认交换机`AMQP default`...
文档包括中英文两个版本,方便不同语言背景的使用者学习。 JMeter的主要特点包括: 1. **跨平台性**:JMeter支持Windows、Linux、Mac OS等多种操作系统,具有良好的兼容性。 2. **开放源码**:JMeter是Apache软件...
例如,若设置Number of Threads为5,Ramp-up period为0,Loop Count为2,意味着5个虚拟用户将同时发起请求,并重复两次。 - **配置默认Http属性**(可选):这一步可避免重复设置每个请求的相同参数。通过在Test ...
### JMeter性能测试工具使用详解 #### 一、实验目的 - **掌握JMeter功能与安装**:了解JMeter作为一款开源性能测试工具的核心能力及其安装流程。 - **熟悉测试元件**:理解JMeter测试计划中各类元件的作用,并能够...
4. **引用变量**:在HTTP请求中,我们可以使用 `${IP_SERVER}` 和 `${PORT}` 来引用这两个变量,分别作为服务器地址和端口号。例如,登录请求的URL可以写为`http://${IP_SERVER}:${PORT}/login.html`。 5. **验证...
《JMeter基本练习脚本入门...总的来说,“Jmeter-Script.zip”提供了一个全面的实践平台,通过学习和操作其中的脚本,你可以深入理解JMeter的工作原理,熟练掌握其各种组件的使用方法,从而在性能测试领域更上一层楼。
《JMeter使用手册》 Apache JMeter是一款强大的性能测试工具,广泛应用于Web应用的压力测试、负载测试和功能测试。这份手册基于个人实战经验,旨在帮助读者深入理解和熟练掌握JMeter的各项功能。 一、添加线程组 ...
逻辑控制器用于控制 Test Plan 中 Sampler 节点发送请求的逻辑顺序。 jmeter 的监听器对测试结果进行处理和可视化展示的一系列组件,常用的有图形结果、查看结果树、聚合报告等。配置原件用于提供对静态数据配置的...
以下是对JMeter 4.0及其相关知识点的详细说明: 1. **JMeter简介**:JMeter是Apache软件基金会的项目,它是一款纯Java应用,可以在多种操作系统上运行,如Windows、Linux和Mac OS。JMeter能够模拟大量用户并发访问...
- **录制测试脚本**:虽然文档未直接提及脚本录制,但JMeter支持使用HTTP(S) Test Script Recorder来录制Web应用的HTTP和HTTPS请求。该监听器能将浏览器中的请求捕获为JMeter中的采样器。 - **开发测试脚本**:用户...
思考时间(think time)指的是模拟用户在连续两个操作之间的等待时间,它有助于更准确地模拟真实的用户行为。在JMeter中,可以通过添加“思考时间”控制器来实现这一点。 #### 设置集合点 集合点是一种特殊的控制器...
在更复杂的测试场景中,还可以使用定时器(Timers)来控制请求之间的间隔,逻辑控制器(Logic Controllers)来调整请求的顺序或条件,以及分布式测试(Distributed Testing)来在多台机器上并行运行测试,以模拟更大...
- 学习JMeter的工作原理:通过阅读源码,开发者可以深入了解JMeter如何处理请求、响应,以及如何实现负载测试的逻辑。 - 定制和扩展功能:对于有特殊需求的测试场景,开发者可以修改或添加源代码,以满足特定的...
这一步,我们将向测试计划中增加相关负载设置,是 JMeter 知道我们需要模拟五个请求者,每个请求者在测试过程中连续请求两次。 使用 JMeter 测试 Tomcat 的性能,可以模拟高负载的情况下测试 Tomcat 的性能,分析 ...
有两种录制方式:一是使用JMeter自带的代理服务器功能,设置浏览器代理以捕获HTTP和HTTPS请求;二是使用Badboy这样的辅助工具,它可以记录用户操作并生成JMeter兼容的脚本。对于HTTPS,因为存在加密,需要额外处理...