博客
关于我
jmeter压测学习15-setUp线程组实现用户先登录
阅读量:470 次
发布时间:2019-03-06

本文共 902 字,大约阅读时间需要 3 分钟。

JMeter 接口测试前置登录与 token 提取

在接口测试中,很多接口都需要用户先登录才能访问。虽然登录是前置操作,但我们的测试关注点始终是目标接口。对于 Python 的 unittest 和 pytest 框架,前置操作通过 setUp 概念实现,而 JMeter 中也有 setUp 线程组可以完成前置准备工作。

我们需要测试的是查询用户个人信息接口 /api/v1/userinfo,但该接口需要用户登录的 token 才有权限访问。因此,前置操作就是先执行登录,获取 token。

在测试计划中,新增 setUp 线程组。首先,在 setUp 线程组前面添加 HTTP 请求默认值,配置环境信息。接着,在 HTTP 信息头管理器中添加 POST 接口,设置 Content-Type: application/json(具体参考前文文章)。然后,新增 HTTP 请求,添加登录接口的相关信息。

运行后可在结果树中观察到登录成功,返回的完整 JSON 内容如下:

{  "code": 0,  "msg": "login success!",  "username": "test",  "token": "b6b3545d53881d5e95430572bb43a5c995e462ce"}

接下来,添加后置处理器 JSON 提取器,将 token 提取出来,并设置变量名称为 token。提取的变量仅在当前线程组可引用,因此需要将其设置为系统的全局变量。为此,添加 BeanShell 后置处理程序,将提取的 ${token} 参数设置为全局属性,属性名称为 token_global

使用 ${__setProperty(token_global,${token},)}$ 语句实现这一点。

然后,新增一个测试线程组,在头部管理器中添加 token 引用属性,使用 ${__P(token_global,)}$ 表示引用全局属性。

接着添加需要测试的个人信息接口访问路径,运行后可在请求头中查看是否已成功关联。

最后,建议在测试完成后添加 tearDown 线程组,进行数据清理操作。

转载地址:http://brlbz.baihongyu.com/

你可能感兴趣的文章
Object类有哪些方法,hashcode方法的作用,为什么要重写hashcode方法?
查看>>
Objenesis创建类的实例
查看>>
OBObjective-c 多线程(锁机制) 解决资源抢夺问题
查看>>
OBS studio最新版配置鉴权推流
查看>>
Obsidian的使用-ChatGPT4o作答
查看>>
Obsidian笔记记录GPT回复的数学公式无缝转化插件Katex to mathjax
查看>>
ObsoleteAttribute 可适用于除程序集、模块、参数或返回值以外的所有程序元素。 将元素标记为过时可以通知用户:该元素在产品的未来版本中将被移除。...
查看>>
OC Xcode快捷键
查看>>
oc 中的.m和.mm文件区别
查看>>
OC 中的重写 OC中没有重载 以及隐藏
查看>>
OC 内存管理黄金法则
查看>>
oc57--Category 分类
查看>>
occi库在oracle官网的下载针对vs2008
查看>>
OceanBase 安装使用详细说明
查看>>
OceanBase详解及如何通过MySQL的lib库进行连接
查看>>
ocp最新题库之052新题带答案整理-36题
查看>>
OCP题库升级,新版的052考试题及答案整理-18
查看>>
OCR使用总结
查看>>
ofbiz 定义
查看>>
OfficeWeb365 SaveDraw 文件上传漏洞复现
查看>>