【JMeter】accessToken

在写java后台接口时,碰到一个accessToken的问题,现在Mark一下

这里写图片描述

设备管理_获取唤醒服务器 这个接口失败,响应数据为:

{"data":"没有token","statusCode":401}

让我们再看看请求参数

这里写图片描述

不难发现accessToken 为空

但是同一个接口请求
这里写图片描述

这个请求中是带有 accessToken

那问题在哪里呢?

禁用两个接口中间的3个接口,请求的结果如下:

这里写图片描述

那问题可能是中间三个接口有对 accessToken 的值进行了修改置空,查看各个接口的请求

### 使用 JMeter 模拟 POST 请求登录并获取 `access_token` 的值 为了实现通过 JMeter 模拟用户登录并获取 `access_token` 的功能,可以按照以下方式配置: #### 1. 创建 HTTP Request Sampler 在 JMeter 中创建一个新的线程组,并在其内部添加一个 **HTTP Request**。 设置 URL 地址为: ```plaintext https://demo.maku.net/maku-element-admin/data/login.json ``` 请求方法应设为 `POST`。 #### 2. 设置 Content-Type 和 Body 数据 根据引用[^2]中的说明,在 **HTTP Header Manager** 中添加以下头部信息: ```plaintext Content-Type: application/json ``` 接着,在 **Body Data** 字段中输入 JSON 格式的登录数据。假设用户名为 `admin`,密码为 `password`,则填写如下内容: ```json { "username": "admin", "password": "password" } ``` #### 3. 添加正则表达式提取器 为了让 JMeter 自动捕获返回的 `access_token` 值,可以在该 HTTP Request 下方添加一个 **Regular Expression Extractor** 组件。 - **Reference Name**: 输入变量名用于存储 token,例如 `accessToken` - **Regular Expression**: 提供匹配 `access_token` 的正则表达式,通常类似于下面的形式(具体取决于 API 返回的实际结构): ```regex "access_token":"(.*?)" ``` - **Template**: `$1$` - **Match No.**: `1` (表示取第一个匹配项) 这样就可以把响应里的 `access_token` 存入到 `${accessToken}` 变量里以便后续使用。 #### 4. 执行脚本验证结果 保存以上配置之后运行测试计划。如果一切正常的话,应该能够成功接收到服务器反馈的数据包,其中包含有效的 `access_token`。 以下是完整的示例代码片段展示如何构建此流程的一部分逻辑部分: ```python import requests url = 'https://demo.maku.net/maku-element-admin/data/login.json' payload = {"username": "admin", "password": "password"} headers = {'Content-Type': 'application/json'} response = requests.post(url, json=payload, headers=headers) if response.status_code == 200: data = response.json() access_token = data.get('access_token') print(f'Access Token is {access_token}') else: print('Login failed.') ``` 注意这里仅作为演示目的而写成 Python 脚本形式;实际操作是在图形界面下的 JMeter 工具完成这些步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sysu_lluozh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值