在我们做接口测试的时候,经常需要验证发送的消息是否正确,或者在出现问题的时候,查看手机客户端发送给server端的包内容是否正确,就需要用到抓包工具。
常用的抓包工具有fiddler、wireshark、httpwatch、 firebug、F12等。抓包抓的是协议,fiddler抓的是HTTP、HTTPS协议,wireshark抓的是其他协议。fiddler、wireshark可以修改接口的参数和返回值,常用的F12调试工具只可以查看接口的参数和响应值。
一般情况下,做接口测试时,必须有详细的接口文档,接口测试往往伴随着自动化即接口自动化测试,既然有接口文档,就可以直接使用了,为什么要抓包?一直知道fiddler抓包,也抓过包,但是一直不知道为什么要抓包,抓包用来干啥?现在来大概的解释一下:
1.在不知道接口的情况下
2.在知道接口,想查看接口数据的情况下
3.用来查看接口的安全性
比如:1.2:web端点击搜索按钮,没有查到数据。F12打开,点击搜索按钮,network中查看具体协议,则可以查看到此接口的参数和返回值。若参数传错,前端的锅;若响应异常,没有调通后台接口;若有响应,响应值错误,后台的锅。
2.3:支付订单的时候,fiddler请求前断点,修改5000元为50元,造成数据串改,不安全。用户登录的时候,截取接口查看入参,可以看到具体的用户名、密码,不安全。所以通过fiddler或者F12可以查看接口安全性,做到把敏感数字**显示更安全。
接下来介绍一下为什么要做接口测试?
现在的很多接口过分依赖前端界面限制,极大的影响了接口的健全性。比如:某促销商品限购件数最多3件,在界面校验的很正确,但是接口没有做校验,因为接口认为从界面传过来的数据都是正确的,这时候如果某些人绕过界面直接抓到了接口,限购件数改成了30件,接口是可以直接通过了。实际上接口也要做相应的校验。
抓包是单接口测试,postman是做接口自动化的。Python+request接口自动化测试、Jmeter接口自动化测试。postman基于JS,Jmeter基于java
转载于:https://www.cnblogs.com/hpzyang/p/10830350.html