You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMETER实现HTTP请求循环执行及迭代后清除Cookie的方法咨询

可行实现方案

一、Python脚本实现(适合自动化脚本场景)

核心思路:每次循环创建新的会话对象(自动隔离Cookie),按顺序执行4个请求。

  • 实现步骤:
    1. 定义登录流程函数,内部每次初始化requests.Session()(新会话默认无Cookie,等价于清除上次的Cookie)
    2. 按顺序发送4个请求,注意处理重定向(requests默认自动跟进重定向,如需手动控制可关闭allow_redirects后读取Location头再请求)
    3. 外层用循环控制迭代次数

示例代码:

import requests

def execute_login_flow():
    # 初始化新会话,自动清除上一轮的Cookie
    session = requests.Session()
    
    # 1. 请求登录页面
    session.get("https://your-domain.com/login")
    
    # 2. 重定向登录页面(若需手动处理重定向,取消下方注释)
    # redirect_response = session.get("https://your-domain.com/initial-login", allow_redirects=False)
    # session.get(redirect_response.headers["Location"])
    
    # 3. 带特定参数的登录页面
    session.get("https://your-domain.com/login?param=specific_value")
    
    # 4. 提交登录凭证(需根据实际表单字段调整)
    login_payload = {
        "username": "test_user",
        "password": "test_pass",
        "csrf_token": session.cookies.get("csrf_token")  # 从会话Cookie中获取CSRF令牌(如有)
    }
    session.post("https://your-domain.com/auth/submit", data=login_payload)

# 循环执行10次(可按需修改次数)
for _ in range(10):
    execute_login_flow()

二、Postman实现(适合接口测试场景)

核心思路:利用集合运行器控制循环,通过前置脚本清除Cookie。

  • 实现步骤:
    1. 创建Postman集合,将4个请求按1-2-3-4的顺序添加到集合中
    2. 配置集合前置脚本,每次迭代前清除Cookie:
      // 清除当前环境域名下的所有Cookie
      pm.cookies.clear(pm.environment.get("base_url"));
      // 若需清除所有Cookie,改用:pm.cookies.clear();
      
    3. 打开集合运行器(Collection Runner),设置迭代次数后启动运行;或用Newman命令行执行:newman run 你的集合文件.json -n 迭代次数

三、JMeter实现(适合性能测试场景)

核心思路:通过线程组控制循环,配置Cookie管理器自动清除Cookie。

  • 实现步骤:
    1. 添加线程组,设置“循环次数”为所需迭代次数
    2. 添加HTTP Cookie管理器,勾选“每次迭代清除Cookie”选项
    3. 按顺序添加4个HTTP请求,分别对应登录页面、重定向页面、带参登录页面、提交凭证的请求
    4. 启动测试计划,线程组会按循环次数重复执行请求流,每次迭代自动清除Cookie

内容的提问来源于stack exchange,提问作者Vitalii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 12:25:21