jmeter关联登录302类型的接口

本文介绍了在接口测试中如何处理登录接口设置的cookie,通过正则表达式提取登录后的cookie,并利用HTTPCookie管理器进行管理。具体步骤包括设置header,使用正则表达式提取cookie,然后在后续请求中关联使用。这种方法特别适用于需要在多个取样器间传递cookie的场景。

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

前言

很多的登录都是响应302,即在请求的Response的heard设置一个cookie,然后再重定向到另外一个接口,我们无法直接从接口的响应中直接获取cookie。我们如何获取登录接口设置的cookie用于下一个接口的入参呢? 其实jmeter提供了一种简便的方式HTTP Cookie来实现登录cookie的管理,但是如果一个取样器需要使用多个cookie时,不如自己提取来的方便。

应用场景

登录接口设置cookie,通过正则表达式提取器获取登录的cookie信息后,用户系统信息接口使用;
在这里插入图片描述

登录接口

在这里插入图片描述

header设置:
在这里插入图片描述
Accept-Language zh-CN,zh;q=0.9
Cache-Control max-age=0
Connection keep-alive
Content-Type application/x-www-form-urlencoded

正则表达是提取:
在这里插入图片描述
beanshell验证提取结果:
在这里插入图片描述

关联cookie

在这里插入图片描述
运行结果:
在这里插入图片描述

### JMeter 性能测试中的接口关联实现 在JMeter中进行性能测试时,接口关联是指在一个HTTP请求的结果中获取某些动态参数,并将其用于后续的HTTP请求。这种技术对于模拟真实的用户行为至关重要。 #### 创建测试计划并添加线程组 为了实现接口关联,首先需要创建一个新的测试计划并在其中建立一个线程组来定义虚拟用户的数量和其他属性[^2]。 ```java // 示例:通过BeanShell PreProcessor 或者 JSR223 PreProcessor 提取前置条件变量 String userId = vars.get("userId"); if (userId != null && !userId.isEmpty()) { log.info("User ID obtained from previous request: " + userId); } ``` #### 添加HTTP请求采样器 接着,在同一个线程组下增加两个或多个HTTP请求采样器。第一个HTTP请求通常用来登录或者初始化会话;第二个及以后的HTTP请求则依赖于前一次响应返回的数据来进行操作[^4]。 #### 使用正则表达式提取器或其他后处理器 为了让这些请求之间能够传递必要的信息,可以在首次成功的HTTP请求之后立即添加一个正则表达式提取器组件或者其他类型的后处理程序(如JSON路径抽取器)。此步骤旨在捕获来自服务器端响应体内的特定字段值作为环境变量存储起来供下一个请求使用。 例如,如果希望从HTML页面源码中抓取出某个`<title>`标签的内容,则可以通过如下方式设置: - **名称**: TitleExtractor - **适用范围**: 主样本仅限于此处指定的目标URL模式匹配项 - **正则表达式**: `<title>(.*?)</title>` - **模板**: `$1$` - **默认值**: `DefaultTitleValueIfNotFound` 一旦设置了上述配置选项,就可以利用`${TitleExtractor}`语法访问所获得的实际标题字符串了。 #### 将提取到的信息应用于后续请求 最后一步就是修改接下来发出的所有相关HTTP GET/POST 请求,使其携带之前保存下来的那些重要参数。这可能涉及到更改URL地址、表单数据或是头部信息等内容。 ```bash # 假设我们已经成功地从上一请求中获得了名为 'token' 的令牌, # 那么现在可以把它加入到下一请求头里面去。 Authorization: Bearer ${token} ``` 通过这种方式,不仅实现了不同API调用间的紧密联系,而且也提高了整个场景下的交互性和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值