ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

从抓包到接口测试的全过程解析

2022-09-02 20:00:22  阅读:146  来源: 互联网

标签:请求 接口 文档 全过程 测试 工具 包到 抓包


一、为什么抓包

1.从功能测试角度,通过抓包查看隐藏字段

Web 表单中会有很多隐藏的字段,这些隐藏字段一般都有一些特殊的用途,比如收集用户的数据,预防 CRSF 攻击,防网络爬虫,以及一些其他用途。这些隐藏字段在界面上都看不到,如果想检测这些字段,就必须要使用抓包工具。

  1. 通过抓包工具了解协议内容,方便开展接口和性能测试

性能测试方面,性能测试其实就是大量模拟用户的请求,所以我们必须要知道请求中的协议内容和特点,才能更好的模拟用户请求,分析协议就需要用到抓包工具;接口测试方面,在接口测试时,虽然我们尽量要求有完善的接口文档。但很多时候接口文档不可能覆盖所有的情况,或者因为文档滞后,在接口测试过程中,还时需要借助抓包工具来辅助我们进行接口测试。

  1. 需要通过抓包工具,检查数据加密

安全测试方面,我们需要检查敏感数据在传输过程中是否加密,也需要借助抓包工具才能检查。

  1. 处理前后端 bug 归属之争

在我们提交bug的时候,经常会出现前端(客户端展示)和后端(服务端的逻辑)的争议,那么可以通过抓包工具,确实是数据传递问题还是前端显示的问题。如果抓出来的数据就有问题的话,那么一般是后端的问题;如果抓出来的数据是正确的,那么基本上可以断定是前端显示的问题。

  1. 通过抓包分析,可以更好的理解整个系统

经常使用抓包工具辅助测试,可以很好的了解整个系统,比如数据传输过程前后端的关系,以及整个系统的结构。特别是对现在的微服务架构的产品,抓包能够更好的梳理和掌握整个系统各个服务之间的关系,大大增加测试的覆盖度。另外还可以增进对代码、HTTP协议方面知识的理解。

二、如何抓包

常用的抓包工具有Fiddler、wireshark、Charles以及浏览器自带F12等多种工具。那么在这里给大家演示如何用浏览器自带F12来进行抓包。

第1步:打开浏览器后,按F12,选择网络--点击设置按钮--勾选持续记录

 

 第2步:在浏览器上操作,在网络中就可以看到HTTP请求信息(登录操作)

 

 

第3步:找到操作的请求信息(登录操作)

这一步对于初学者来说是比较难的,在公司中可以跟开发沟通,或者参考相关的文档来找。也可以搜索操作中的关键字,比如我登录的时候输入的用户名是wuye_kemi,那我就可以输入wuye_kemi来检索,快速找到我要的那个请求信息。

 

 

第4步:获取请求的四要素,用于做接口测试

1-请求地址:http://wy.lemonban.com:3000/callComponent/login/doLogin?version=2.0

2-请求方法:post

3-请求参数:

{"logo":"HC","username":"wuye_kemi","passwd":"xxxx","validateCode":"LEMON","errorInfo":""}

  • username:登录时的用户名

  • passwd:登录时的密码

  • validateCode:登录时的验证码

4-响应结果:

{"userName":"wuye_kemi","userId":"302021110504836175","token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqY"}

 

 

 

 

 

 三、Postman接口测试实战

通过F12抓包后我们获取到了相关的接口信息,接下来就可以用postman接口工具来进行接口的测试了。

依次把请求地址、请求方式、请求参数填入postman工具中,点击Send发送,再核对响应结果与抓包响应结果核对即可。这样子一个简单的接口调试就完成了。

 

 四、总结

如果要通过抓包的方式来进行接口测试,需要具有一定的网络协议基础,这些基础可以让你快速找到请求和接口信息。

其次是在进行接口测试过程中,我们最好与开发进行沟通,因为他们更加清楚每个参数的含义以及类型约束,想要更全面的测试接口,可以将抓包信息整理成文档,并与开发沟通完善文档。

有接口文档再进行用例设计与接口执行才是规范的测试流程哦。

标签:请求,接口,文档,全过程,测试,工具,包到,抓包
来源: https://www.cnblogs.com/xiaoxiao-wu/p/16651074.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有