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字段。
1、在“用例:登陆成功”后新建HTTP信息头管理器,新增Authorization: Bearer ${login_token}字段
2、新建简单控制器,并将其名称修改为"用例:获取所有任务"
3、将http请求取样器名称修改为"获取所有任务",拖拽至简单控制器下,最终结果如下图所示
运行后结果如下图所示,可以看到返回的状态码现在是200而并非未授权状态的401。另外该接口将数据库中所有的tasks以json字符串的形式返回,在开始阶段,你可以没有新建任何一个任务,返回的结果可能是[]。
第二步:添加http信息头管理器
第三步:并且在信息头中添加新增Authorization: Bearer ${login_token}字段,如下图所示:
我们看看这个获取token变量名的由来,这个在上一篇我们已经给大家介绍过了。
第四步:添加一个简单控制器,将获取所有任务和HTTP信息头管理器放到简单控制器下面,保证整个过程的完整性。如图所示:
第五步:运行获取所有任务的API,注意我们需要把登陆API激活,不然不登陆是无法获取所有任务的。
第六步:我们获取所有任务以后需要断言,这里我们使用的是响应断言,先添加响应断言方法,如图所示:
第七步:先取实际结果进行比对。
第八步:进行获取所有任务成功后的实际结果和预期结果断言。
最后断言成功,结果如图所示:
执行顺序
从上面的脚本结构图我们可以看出,HTTP信息头管理器位于登录用例和获取所有任务用例之间,这是因为我们必须通过登录用例来获取token,从而设置到HTTP信息头管理器中。一旦设置好了HTTP header,那么其后所有的请求都会带上Authorization: Bearer ${login_token}信息,这也是获得登录态的奥秘所在。
因此我们可以看到,这些组件的执行顺序是:登录用例 -> 设置HTTP header -> 获取所有任务,登录成了获取所有任务的依赖,一旦登录失败,后续所有的请求都会失败,这其实是我们可以接受的结果。
点击阅读?使用JMeter发送JDBC请求
点击阅读?JMeter排忧解难——数据库断言
点击阅读?如何使用Jmeter提高接口测试效率?
点击阅读?JMeter压力测试教程(入门篇)
点击阅读?JMeter运行结果Unicode编码乱码问题
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理。
点击“阅读原文”,查看更多内容!
- 什么芯片组支持SATA接口标准
- 心理测试:4种蛋糕,你最舍不得吃哪个?测你未来的婚姻状况!
- 心理测试:四个女生,哪一个喝醉?一眼看出你的真实性格 太准
- 心理测试:4款动物吊坠,哪个价值不菲?测你人际交往中讨喜程度
- 心理测试:四个晚礼服选一个,测试你是哪类男生的梦中情人?
- 大屏手机续航就糟糕?经测试这款手机无需担心
- 心理测试:4朵荷花,哪朵最美?测测你内心究竟有多单纯?
- 星座测试:哪个U盘有创意?可测出适合你的缘分到底是怎样的
- 翼展长度惊人!世界最大飞机进入地面测试阶段
- 心理测试:4款森女系婚纱,哪个让人陶醉?测你嫁什么男人能幸福一生