Jmeter HTTP Cookie管理器的使用

本文详细介绍了如何在JMeter中使用HTTP Cookie管理器来处理和管理Cookie信息,包括在HTTP信息头管理器中添加Cookie、使用HTTP Cookie管理器组件以及查看自动存储的Cookie信息,帮助进行Web应用程序的自动化测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言:

1、在HTTP信息头管理器组件中添加Cookie信息

(1)测试计划内包含的元件

(2)请求取样器内容

(3)HTTP信息头管理器内容

(4)查看结果

2、使用HTTP Cookie管理器组件来管理Cookie信息

(1)测试计划内包含的元件

(2)HTTP Cookie管理器内容

(3)HTTP请求组件的内容

3、查看HTTP Cookie管理器组件中自动存储的Cookie信息


前言:

在进行Web应用程序测试时,经常需要使用HTTP Cookie来维护用户会话状态。JMeter提供了Cookie管理器,使得测试人员可以轻松地管理HTTP Cookie。

1、在HTTP信息头管理器组件中添加Cookie信息

实现步骤:

  1. 前提我们手动登陆电商网站,地址:

    http://www.testingedu.com.cn:8000/index.php/Home/user/login.html。

  2. 然后通过工具获取到登陆后的Cookie数据。

  3. 把Cookie数据存储到HTTP信息头管理器组件中。

  4. 直接查看该用户的购物车数据。

提示:关于该网站登陆授权的Cookie信息就是PHPSESSID,我们只保存这一条Cookie即可。

(1)测试计划内包含的元件

添加元件操作步骤:

  1. 创建测试计划。

  2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组。

  3. 在线程组中添加配置元件"HTTP信息头管理器"组件:选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP信息头管理器。

  4. 在线程组里面添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求。

  5. 在线程组里面添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树。

最终测试计划中的元件如下:

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

(2)请求取样器内容

如下图所示:

两个HTTP请求取样器的内容是一样的,只不过有Cookie的请求前加了HTTP信息头管理器组件。

(3)HTTP信息头管理器内容

我们在请求头中添加上Cookie信息,如下图所示:

### JMeter HTTP Cookie管理器使用教程 #### 1. 基本概念 HTTP Cookie管理器JMeter中的一个重要组件,用于模拟浏览器的行为,在请求之间管理和传递Cookies。它能够自动处理服务器返回的Cookies,并将其附加到后续的相关请求中。 --- #### 2. 配置方法 ##### (1) 修改`jmeter.properties`文件 为了使HTTP Cookie管理器正常工作,需确保`jmeter.properties`文件中有以下配置项被启用: ```properties CookieManager.save.cookies=true ``` 如果该选项前有`#`号,则需要移除并保存文件,随后重新启动JMeter以应用更改[^3]。 ##### (2) 添加HTTP Cookie管理器JMeter界面中,可以通过右键点击线程组 -> **添加** -> **配置元件** -> **HTTP Cookie管理器**来完成添加操作[^4]。 ##### (3) 设置共享范围 HTTP Cookie管理器支持不同的作用域模式,具体包括: - `All threads`: Cookies将在所有线程间共享。 - `First level thread group only`: Cookies仅在同一级别的线程组内共享。 - `No sharing at all`: 每个线程拥有独立的Cookies集合。 可以根据测试需求调整此参数,默认情况下为`No sharing at all`[^1]。 ##### (4) 手动导入Cookies 当需要手动指定某些特定的Cookies时,可通过【CSV Data Set Config】读取外部文件(如`cookie.txt`)。例如,假设已定义了一个名为`xn_cookie50`的变量,则可以在脚本中直接调用该变量作为Cookie值。 --- #### 3. 实际案例分析 以下是基于上述理论的一个简单实例: 假设目标网站登录后会返回一个Session ID类型的Cookie,我们希望验证其有效性。 1. 创建一个新的测试计划; 2. 在线程组下依次添加以下元素: - **HTTP 请求默认值** - 输入基础URL地址。 - **HTTP Cookie管理器** - 不作额外改动,保持默认状态。 - **HTTP 请求采样器** - 定义具体的API路径以及必要的Header/Body数据。 3. 启动监听器观察结果; 4. 如果一切顺利,应该能够在响应头信息里发现预期的Set-Cookie字段;同时借助查看结果树功能确认实际传输过程中的Cookies详情。 --- #### 4. 获取Cookies的方法 除了依赖于工具本身的自动化机制外,还可以利用函数表达式提取所需的单个Cookie名称及其对应的值。比如下面这段Groovy代码片段展示了如何动态访问某个特定的Cookie: ```groovy def cookieValue = vars.get('COOKIE_sessionId') log.info("Extracted Session Id: ${cookieValue}") ``` 注意这里的关键词`sessionId`应替换为你所关心的实际属性名。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值