博客
关于我
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/

你可能感兴趣的文章
Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
查看>>
Nginx代理初探
查看>>
Nginx代理外网映射
查看>>
Nginx代理模式下 log-format 获取客户端真实IP
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
Nginx反向代理与正向代理配置
查看>>
Nginx多域名,多证书,多服务配置,实用版
查看>>
nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
查看>>
nginx总结及使用Docker创建nginx教程
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
查看>>
nginx最最最详细教程来了
查看>>
Nginx服务器上安装SSL证书
查看>>
Nginx服务器的安装
查看>>
Nginx模块 ngx_http_limit_conn_module 限制连接数
查看>>
nginx添加模块与https支持
查看>>
Nginx用户认证
查看>>
Nginx的location匹配规则的关键问题详解
查看>>
Nginx的Rewrite正则表达式,匹配非某单词
查看>>
Nginx的使用总结(一)
查看>>