Jmeter接口测试-获取所有任务API
获取所有任务
GET /api/tasks 接口获取所有的任务,该接口需要鉴权。
注意,默认情况下鉴权是关闭的。请确保app.coffee中的app.use(express_jwt(secret: jwt_secret).unless(path: ['/register', '/login']))的这条语句没有被注释,然后使用coffee -c app.coffee重新编译。
鉴权失败
我们试着在没有提供token的情况下访问 GET /api/tasks接口。
新建http请求取样器,路径/api/tasks,直接运行,结果如下图所示。

接口返回状态码401,这就证明了如果不登录的话获取所有任务的接口是无法直接访问的。
鉴权并返回相应结果
jwt鉴权的默认套路是在http请求的header中增加 Authorization: Bearer token字段。
- 在“用例:登陆成功”后新建HTTP信息头管理器,新增
Authorization: Bearer ${login_token}字段 - 新建简单控制器,并将其名称修改为"用例:获取所有任务"
- 将http请求取样器名称修改为"获取所有任务",拖拽至简单控制器下,最终结果如下图所示
运行后结果如下图所示,可以看到返回的状态码现在是200而并非未授权状态的401。另外该接口将数据库中所有的tasks以json字符串的形式返回,在开始阶段,你可以没有新建任何一个任务,返回的结果可能是[]。
第二步:添加http信息头管理器

第三步:并且在信息头中添加新增Authorization: Bearer ${login_token}字段,如下图所示:

我们看看这个获取token变量名的由来,这个在上一篇我们已经给大家介绍过了。

第四步:添加一个简单控制器,将获取所有任务和HTTP信息头管理器放到简单控制器下面,保证整个过程的完整性。如图所示:

第五步:运行获取所有任务的API,注意我们需要把登陆API激活,不然不登陆是无法获取所有任务的。

第六步:我们获取所有任务以后需要断言,这里我们使用的是响应断言,先添加响应断言方法,如图所示:

第七步:先取实际结果进行比对。

第八步:进行获取所有任务成功后的实际结果和预期结果断言。

最后断言成功,结果如图所示:

使用正则表达式提取器来提取token

说明:
(1)引用名称:下一个请求要引用的参数名称,如填写Atask,则可用${Atask}引用它。
(2)正则表达式:
():括起来的部分就是要提取的。
(3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值
(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
(5)缺省值:如果参数没有取得到值,那默认给一个值让它取,我填的not found。
运行结果如下:

执行顺序
从上面的脚本结构图我们可以看出,HTTP信息头管理器位于登录用例和获取所有任务用例之间,这是因为我们必须通过登录用例来获取token,从而设置到HTTP信息头管理器中。一旦设置好了HTTP header,那么其后所有的请求都会带上Authorization: Bearer ${login_token}信息,这也是获得登录态的奥秘所在。
因此我们可以看到,这些组件的执行顺序是:登录用例 -> 设置HTTP header -> 获取所有任务,登录成了获取所有任务的依赖,一旦登录失败,后续所有的请求都会失败,这其实是我们可以接受的结果。
Jmeter接口测试-获取所有任务API的更多相关文章
- (转)jmeter接口测试--获取token
Jmeter进行接口测试-提取token 项目一般都需要进行登陆才能进行后续的操作,登陆有时发送的请求会带有token,因此, 需要使用后置处理器中的正则表达式提取token,然后用BeanShell ...
- jmeter接口测试--获取token
Jmeter进行接口测试-提取token 项目一般都需要进行登陆才能进行后续的操作,登陆有时发送的请求会带有token,因此, 需要使用后置处理器中的正则表达式提取token,然后用BeanShell ...
- jenkins+ANT+jmeter 接口测试环境搭建
目的 jmeter很早就接触了,最近又在接触项目的时候整了一下.写这篇博客主要有两个目的 1,为了给自己搭建jmeter做一个总结. 2,在部署过程中遇到过一些坑,在这分享出来,也希望能给需要的人一个 ...
- jmeter接口测试实战-创建用户
jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...
- Jmeter 接口测试实战-有趣的cookie
Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...
- 【JMeter】【微信好文收藏】Jmeter接口测试实战-有趣的cookie
场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点, 有效期(expires). ...
- Jmeter接口测试实战-Cookies
场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点, 有效期(expires). ...
- Jmeter接口测试与数据驱动
一. 背景 数据驱动Data Driven Testing(DDT),是一种用于创建自动化测试的方法,或者说是一种架构, 本质是输入数据和用这些数据获取测试结果, 使测试逻辑和测试数据分离. DDT的 ...
- Jmeter接口测试、性能测试详细介绍
下面主要就是讲一下Jmeter工具的用法,用法非常简单,比起loadrunner不知道简单多少,并且开源免费~~ 1.接口简介 接口定义 接口: 就是数据交互的入口和出口,是一套标准规范. 接口(硬件 ...
随机推荐
- bzoj 4319 cerc2008 Suffix reconstruction——贪心构造
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 如果字符集有 5e5 那么大的话,挨个填上去就行了.但只有26个字符,所以要贪心地尽量 ...
- PHP 16 个编程法则
HP是最好的编程语言.对于PHP开发者来说,掌握一些编程法则是十分重要的.而在PHP中,以双下划线(__)开头的方法称为魔术方法,它们扮演着非常重要的角色. 常用的魔术方法包括: -__constru ...
- emqtt 1 (初初初初稿)
第一篇,先简单分析一下整个emqtt 的大致结构,包括两个部分: 1.message packet 类型 2.message 流向 message packet 类型 P1:mqtt_packet 的 ...
- 蓝桥杯 算法训练 ALGO-108 最大的体积
算法训练 最大体积 时间限制:1.0s 内存限制:256.0MB 问题描述 每个物品有一定的体积(废话),不同的物品组合,装入背包会战用一定的总体积.假如每个物品有无限件可用,那么有些体积是永 ...
- jQueryUI Sortable 应用Demo
最近工作用需要设计一个自由布局的页面设计.我选了jQuery UI 的 sortable ,可以拖拽,自由排序 使用很方便,写一个demo,做个记录. 第一.单项目自由排序 下图效果 代码段: < ...
- python's twenty-first day for me 抽象类和接口类以及多态
归一化设计: 不管是哪一个类的对象,都调用同一个函数去完成相似的功能. class Alipay: def pay(self,money): print('使用支付宝支付了%s' % money) c ...
- Deep Learning 学习笔记(2):多参数的线性回归
上次用简单地介绍了线性回归的模型和梯度下降获得参数方程的方法. 用到的一个十分简单的参数方程h(x)=theta0+theta1*x 在现实问题中,参数方程能要复杂许多, 不只有一个未知量x,可能有多 ...
- day8-心得
1. Socket介绍 概念 A network socket is an endpoint of a connection across a computer network. Today, mos ...
- Java面向对象-package import关键字
Java面向对象-package import关键字 package包关键字,在java中,有包的概念,主要是用来归类 分类作用: 便于项目的开发和维护: 这里截取随便截取一个我最近在开发的一个开源工 ...
- C# web程序,winform程序,控制台程序配置log4net,使用log4net
第一添加log4net.config,这里配置包括信息提示写入,错误信息写入,控制台消息展示 <?xml version="1.0" encoding="utf-8 ...