在前面的几篇文章中,有给大家推荐一个开源的项目用来实战练习,不管是职场小白用来做转行的项目实战,还是入行后想提升技能,做自动化,这个项目都是非常合适的选择。

项目的一些介绍的内容可以参考之前的文章,接下来,我主要讲解一下,在没有需求文档和接口文档的情况下,测试人员怎么通过抓包去分析相关接口呢?

第一步、抓包分析登录页面加载到登录完成都调用了哪些接口

打开浏览器,按F12打开开发者工具,然后输入地址http://8.129.162.225/进行访问 ,然后输入正确的账号密码以及验证码进行登录,检查一共调用了几个接口

1dd724848677f7d56000b444c3ee7f61.png

第二步、确认步骤一中抓取到的接口的相关含义/用途

通过步骤一的操作,我们可以看到,从首页加载到登录完成,大致调用了4个接口的样子。

1、其中第一个是获取验证码的接口:captchaImage。

至于为什么确认这个接口是获取验证码的,大家自己在登录页面点一下验证码图片重新获取一下验证码就知道调用的是哪个接口了。

2、第二个是登录接口:login。从单词的拼写我们就可以看的出来哈。

3、第三个接口getInfo从接口的返回结果中猜测估计是获取用户对应的权限、角色、以及用户基本信息的接口

4、第4个接口getRouters根据返回结果猜测的话,应该是获取当前用户所拥有的菜单路径的接口。

第三步、分析接口之间的关联关系,接口传参怎么来的,为后面做接口自动化做准备

1、captchaImage接口:

通过抓包可以看到,该接口为get请求的方式调用,无需传其他的参数,返回结果格式如下:

8397d895553ae964d35271ebf6692581.png

返回结果参数说明:

img:对应的验证码的相关信息,返回的是编码后的数据,前端会对其进行解码后展示验证码图片

captchaOnOff:返回验证码是否开启的开关,如果未开启,则登录不需要输入验证码

uuid:每次获取验证码都会返回一串随机的数值

2、login接口:

通过抓包可以看到,该接口是post请求的方式,传参如下:

{"username":"admin","password":"********","code":"1234","uuid":"e65d51eb95a146449974b0dac6fb1b96"}

通过查看传参内容,我们发现,code对应的是验证码的内容,uuid对应的是获取验证码的接口返回的uuid的值,因此,登录接口和获取验证码接口之间是有关联的,在后面做接口自动化的时候需要注意一下这层关联关系。

3、至于剩下的其他2个接口(getInfo、getRouters),通过抓包可以看到都是get请求,没有其他传参,但是要注意的是,在headers里面是有传Authorization字段的,并且通过分析会发现:该字段的内容是通过固定前缀"Bearer "+登录接口返回的token信息,因此在调用的时候要注意一下。

第四步、见后续文章更新

接口都分析清楚之后,接下来当然是开始实现接口自动化,开启项目实战和技能提升之旅啦。

为了能及时查看到最新的文章推送,建议关注公众号,加星标哟。同时也可以私聊作者邀请进群与同行一起学习交流,群里定期会分享学习资料,组织知识宣讲等,你还在等什么呢~

另外,该开源项目已部署好,免费提供给大家实战练习,请大家注意不要随意删除别人的数据,项目相关的一些信息,实战需要的话,我这边都可以给到大家,也方便小白进行功能实战练习。另外,该项目也支持关闭验证码以及设置万能验证码,方便大家练习。

Logo

快速构建 Web 应用程序

更多推荐