当前位置: 首页 >最新资讯 >从零开始学测试 | 如何通过JMeter接口测试获取所有任务?

从零开始学测试 | 如何通过JMeter接口测试获取所有任务?

2021-10-31 21:37:12

最新:软件测试免费课程本月28火热开启,点击文末“阅读原文”快速抢报

【推荐阅读】火速抢!软件测试5月免费听课名额~~拿到开启高薪热门技术的第一把金钥匙!


获取所有任务

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 -> 获取所有任务,登录成了获取所有任务的依赖,一旦登录失败,后续所有的请求都会失败,这其实是我们可以接受的结果。

作者:大道至简,来源博客园。


软件测试免费训练营5月28日火热开启测试老司机带你零基础快速入门测试,提升测试技能,点击文末“阅读原文”或长按下方二维码即可报名~机会难得,抢先抓住~~~~

免费名额火热抢先中

好消息,平安产险承保达内学员平安就业教育保障险,帮助达内学员解决就业的后顾之忧,只要你是达内学员,就可以在达内各中心参保,为你的高薪就业保驾护航。

内容推荐:

  • 什么才算是真正的测试?测试日常工作都包括哪些?

  • 14个测试人必备且常用的开源API测试工具,速收!

  • 测试行业竞争力大吗?职业前景好吗?

  • 福利 | 一万多套PPT模板等你免费来拿!无条件领取!

  • 免费送 | 1000多套简历模板免费拿,附赠简历制作教程!

  • 测试2018专享面试指南,助你秒收高薪offer!

咨询联系达妹QQ:3535503962。

*声明:内容与图片均来源于网络(部分内容有修改),版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

▲了解更多软件测试资讯,长按上方二维码


点击“阅读原文”抢报软件测试免费试听课
Copyright © 2023 All Rights Reserved 版权所有 香港粤语音乐分享社