抓包后怎么进行接口测试(app怎么抓包测接口)

网友投稿 436 2023-01-11


本篇文章给大家谈谈抓包后怎么进行接口测试,以及app怎么抓包测接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享抓包后怎么进行接口测试的知识,其中也会对app怎么抓包测接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

fiddler抓包详细教程--接口测试

前言

Fiddler最大的优势在于抓包抓包后怎么进行接口测试抓包后怎么进行接口测试我们大部分使用的功能也在抓包的功能上抓包后怎么进行接口测试,fiddler做接口测试也是非常方便的。

对应没有接口测试文档的时候抓包后怎么进行接口测试,可以直接抓完包后抓包后怎么进行接口测试,copy请求参数,修改下就可以了。

Composer简介

点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了
1.请求方式:点开可以勾选请求协议是get、post等

2.url地址栏:输入请求的url地址

3.请求头:第三块区域可以输入请求头信息

4.请求body:post请求在此区域输入body信息

5.执行:Execute按钮点击后就可以执行请求了

6.http版本:可以勾选http版本

7.请求历史:执行完成后会在右侧History区域生成历史记录

模拟get请求

1.在Composer区域地址栏输入博客首页: http://www.cnblogs.com/yoyoketang/

2.选择get请求,点Execute执行,请求就可以发送成功啦

3.请求发送成功后,左边会话框会生成一个会话记录,可以查看抓包详情

4.右侧history区域会多一个历史请求记录

5.会话框选中该记录,查看测试结果:

选中该会话,点开Inspectors

response区域点开Raw区域

Raw查看的是HTML源码的数据
也可以点WebView,查看返回的web页面数据
Json数据

1.有些post的请求参数和返回参数是Json格式的,如博客园的登录请求: https://passport.cnblogs.com/user/signin

2.在登录页面手动输入账号和密码,登录成功。

3.找到这个登录成功的会话,查看json数据如下图:
模拟post请求

1.请求类型勾选post

2.url地址栏输入对应的请求地址

3.body区域写登录的json参数,json参数直接copy上一步抓包的数据,如下图红色区域
4.header请求头区域,可以把前面登录成功后的头部抓包的数据copy过来

(注意,有些请求如果请求头为空的话,会请求失败的)
5.执行成功后查看测试结果:

–执行成功如第三所示的图,显示success=True

–执行失败如下图所示,显示

message=Invalid length for a Base-64 char array or string.

success=False
get请求(url详解)

前言

上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行。有些get请求会带有参数,本篇详细介绍url地址格式。

url详解

1.url就是我们平常打开百度在地址栏输入的: https://www.baidu.com ,如下图,这个是最简单的url地址,打开的是百度的主页
2.再看一个稍微复杂一点的url,在百度输入框输入:上海悠悠博客园
3.查看url地址栏,对比之前的百度首页url地址,后面多了很多参数。当然最主要的参数是:wd=上海悠悠博客园(后面的一大串可以暂时忽略)。

4.那么问题来了,这些参数有什么作用呢?

可以做个简单的对比,在地址栏分别输入:

https://www.baidu.com

https://www.baidu.com/s?wd=上海悠悠博客园

对比打开的页面有什么不一样,现在知道作用了吧,也就是说这个多的”/s?wd=上海悠悠博客园”就是搜索的结果页面

url解析

1.以” https://www.baidu.com/s?wd=上海悠悠博客园”这个url请求的抓包为例
2.那么一个完整的url地址,基本格式如下:

https://host :port/path?xxx=aaaooo=bbb

http/https:这个是协议类型,如图中所示

host:服务器的IP地址或者域名,如图中2所示

port:HTTP服务器的默认端口是80,这种情况下端口号可以省略。

如果使用了别的端口,必须指明,例如:192.168.3.111:8080,这里的8080就是端口

path:访问资源的路径,如图中3所示/s (图中3是把path和请求参数放一起了)

?:url里面的?这个符号是个分割线,用来区分问号前面的是path,问号后面的是参数

url-params:问号后面的是请求参数,格式:xxx=aaa,如图4区域就是请求参数

:多个参数用符号连接

请求参数(params)

1.在url里面请求参数一般叫params,但是我们在fiddler抓包工具看到的参数是:QueryString

2.QueryString是像服务端提交的参数,其实跟params是一个意思,每个参数对应的都有name和value值

3.多个参数情况如下:
UrlEncode编码

1.如果url地址的参数带有中文的,一般在url里面会是这样的,如第二点里的wd=%E4%B8%8A%E6%B5%B7%E6%…

像看到%E4这种编码的就是经过url编码过的,需要解码就能看到是什么中文了

2.用urlencode在线编码/解码工具,地址: http://tool.chinaz.com/tools/urlencode.aspx
post请求(body)

前言上一篇讲过get请求的参数都在url里,post的请求相对于get请求多了个body部分,本篇就详细讲解下body部分参数的几种形式。

注意:post请求的参数可以放在url,也可以放在body,也可以同时放在url和body,当然post请求也可以不带参数。

只是一般来说,post请求的参数习惯放到body部分

body数据类型

常见的post提交数据类型有四种:

1.第一种:application/json:这是最常见的json格式,也是非常友好的深受小伙伴喜欢的一种,如下

2.第二种:application/x-www-form-urlencoded:浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数

3.第三种:multipart/form-data:这一种是表单格式的,数据类型如下:

4.第四种:text/xml:这种直接传的xml格式

json格式

1.打开博客园的登录页面,输入账号密码后抓包,查看post提交数据,点开Raw查看整个请求的原始数据
2.前面讲过post的请求多一个body部分,上图红色区域就是博客园登录接口的body部分,很明显这种格式是前面讲到的第一种json格式

3.查看json格式的树状结构,更友好,可以点开JSON菜单项
4.查看这里的json数据,很明显传了三个参数:

input1:这个是登录的账号参数(加密过)

input2:这个是登录的密码参数(加密过)

remember:这个是登录页面的勾选是否记住密码的选项,False是不记住,True是记住

x-www-form-urlencoded

1.登录博客园后,打开新随笔,随便写一个标题和一个正文后保存,抓包数据如下
2.如上图的这种格式,很明显就属于第二种了,这种类型的数据查看,在WebFrom里面查看了
3.上面红色框框的Query String是url里面的参数,下面红色框框的body部分就是这次post提交的body参数部分了。

WebFrom

1.为什么登录请求的WebFrom的body部分为空呢?
2.看上图红色框框的显示:这里只支持application/x-www-form-urlencoded这种格式的body参数,也就是说json格式的,需要在JOSN这一栏查看了。

Fiddler抓包-接口测试(Composer)

一、Composer简介

点开右侧Composer区域,可以看到如下界面,就是测试接口的界面了

1.请求方式:点开可以勾选请求协议是get、post等

2.url地址栏:输入请求的url地址

3.请求头:第三块区域可以输入请求头信息

4.请求body:post请求在此区域输入body信息

5.执行:Execute按钮点击后就可以执行请求了

6.http版本:可以勾选http版本

7.请求历史:执行完成后会在右侧History区域生成历史记录
二、模拟get请求

1.在Composer区域地址栏输入博客首页:http://www.cnblogs.com/yoyoketang/

2.选择get请求,点Execute执行,请求就可以发送成功啦

3.请求发送成功后,左边会话框会生成一个会话记录,可以查看抓包详情

4.右侧history区域会多一个历史请求记录

5.会话框选中该记录,查看测试结果:

--选中该会话,点开Inspectors

--response区域点开Raw区域

--Raw查看的是HTML源码的数据

--也可以点WebView,查看返回的web页面数据
三、Json数据

1.有些post的请求参数和返回参数是Json格式的,如博客园的登录请求:https://passport.cnblogs.com/user/signin

2.查看json数据如下图
四、模拟post请求

1.请求类型勾选post

2.url地址栏输入对应的请求地址

3.body区域写登录的json参数

4.header请求头区域,可以把前面抓包的数据copy过来

(注意,有些请求如果请求头为空的话,会请求失败的)

5.执行成功后查看测试结果:

--执行成功如第三所示的图,显示success=True

--执行失败如下图所示,显示

message=Invalid length for a Base-64 char array or string.

success=False

做接口测试的流程一般是怎么样的?

接口测试8大流程如下:

1、需求分析

项目立项后,对于整体产品的需求进行认识和理解(与功能测试的需求分析是一致的)。注意:此时只有产品需求文档,架构师还没有开始建模,主要目的是保证各部门(产品、开发、测试…)对于需求理解一致。

2 、api文档分析【重点】

该环节主要分析:请求和响应。

请求:请求url是否合理、请求信息头是否明确、请求方法是否合理、请求参数是否必填、含义、参数方式(url\form\json)。

响应:响应状态码是否合理、响应数据格式是否明确、响应信息头内容是否明确。

异常:异常返回信息和错误代码。

业务:接口彼此之间依赖关系。

该流程重点是:请求参数方式和类型、接口之间依赖关系、错误异常。

3、测试计划

由测试Leader编写,目的:分配测试任务进度安排和指导测试方案执行。

核心:测什么、谁来测、怎么测、风险预测及控制。

4、用例设计

提示:该环节主要针对参数、测试数据、安全、依赖、异常进行覆盖。

测试用例大体分为两种:根据需求进行提取测试点、设计用例覆盖测试点。

5、环境搭建

提示:项目环境部署需要根据计划中安排执行,是否需要测试人员部署。

环境搭建可以是LAMP也可以是LNMP。

6、 用例执行

使用公司指定工具执行测试用例。

提示:提测之前最好安排进行冒烟测试,保证提测时准时执行。

7、缺陷管理

使用缺陷管理工具来对执行用例的缺陷进行管理(与功能测试缺陷管理一致)。

提示:缺陷提交-修复-回归-关闭。

8、测试报告

测试报告不同公司有不同的模板,但测试报告主题内容一般分为下列四部分:测试过程、缺陷统计、缺陷分析、测试总结。

总结:

1、接口测试需要围绕测试计划实施。

2、接口测试重点是:api文档分析、用例设计。

3、具体接口应用工具主要根据后台协议和测试计划测试工具来定,可使用工具如:postman、jmeter、requests、抓包(fiddler、charles)。

谈谈单接口测试

如果只是单个接口抓包后怎么进行接口测试的测试还是归属于功能测试。

平时抓包后怎么进行接口测试我们是怎么做接口测试抓包后怎么进行接口测试的?
接口文档、接口文档抓包后怎么进行接口测试,一定要看接口文档。
初学者做接口测试必须要先会一个工具,postman、fiddler、charles。后两者更多应用于抓包,但都可以使用。
也可以自己写一个接口请求函数,然后给返回的响应数据做断言。达到接口测试的目的。
一般做单接口测试我们是从这几个方面考虑抓包后怎么进行接口测试
1、通过性验证,在测这个接口之前必须保证这个接口是可用的,是通的,相当于冒烟测试。
2、请求接口参数组合传参,在正常规则内进行组合传参,请求参数各个字段值验证,参数是否必传。
3、请求接口顺序(绕过验证),例如,登录后才能下单购买,当未进行登录时,下单接口请求是不能成功的。
4、异常验证,必填项验证、字符类型、长度等等,就是不按照接口文档进行传参。
5、安全性,验证header,敏感数据加密等。
6、响应结果,各种场景下请求接口的返回结果,对应的结构体和参数。
7、响应时间,遵守1357规则,根据实际场景而定。
8、接口逻辑,提交多次接口、并发,业务逻辑等。

当然有些小公司为了赶工期或者其他各种原因是没有接口文档的,那么这样情况该怎么办?
一句话,没有接口文档很难搞,抓包看参数,先保证接口通过性验证,然后从开发和产品获取信息,决定对那些进行验证。

再说下怎么判断bug是前后端谁的问题?
接口请求参数有问题找前端,返回参数有问题先分析下具体问题,一般是找后端(常见的40X/50X),路径或者是服务器的问题。

如何使用WebSocket做接口测试?

如果遇见了一个全新的协议,怎么从零开始,完成接口测试?以 WebSocket 为例。

WebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。

WebSocket 的其他特点:

1. 建立在 TCP 协议之上,服务器端的实现比较容易。

2. 与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。

3. 数据格式比较轻量,性能开销小,通信高效。

4. 可以发送文本,也可以发送二进制数据。

5. 没有同源限制,客户端可以与任意服务器通信。

6. 协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。


· ws–http(未加密) 无证书
· wss–https(加密) 有证书


第一步:

很多时候第一反应向开发工程师求助,因为开发工程师基于新协议已经完成了接口开发,向开发工程师求助显然是最好的办法。找到一些学习脉络,包含了协议的说明文档、代码开发文档、实现代码等内容,了解协议的原理。向开发求助是个方法。

那么 WebSocket 用 Fiddler 怎么搞定?,其实主要就是修改了 Fiddler 中 Rules 下的 Customize Rules,如果感兴趣可以自己去搜一下。当面对陌生技术问题的时候,应该使用最熟悉的技术去尝试解决问题。虽然 Fiddler 截获 WebSocket 接口的办法,所截获的全部消息都在日志里面,根本无法操作。但是,可以借助 Fiddler 分析 WebSocket 的接口,一开始给 Fiddler 这款工具的定位一样,那就是通过它辅助分析我们的被测接口。处理HTTP、HTTPS,推荐用Fiddler。

但是在处理TCP,UDP 就用WireShark。Websocket是应用层协议,建立在 TCP 协议之上,服务器端的实现比较容易。因为应用层是在传输层的基础上包装数据,所以我们还是从底层开始了解Websocket到底是个啥?是如何工作的?


可以通过---- wireshark(网络封包分析软件)抓包工具抓到WebSocket接口

wireshark下载地址:https://www.wireshark.org/download.html

以下是python实现的websocket 接口连接。


关于抓包后怎么进行接口测试和app怎么抓包测接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 抓包后怎么进行接口测试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于app怎么抓包测接口、抓包后怎么进行接口测试的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微服务网关和注册中心(什么是微服务注册中心)
下一篇:微服务网关是什么(微服务网关是什么级别程序员应会)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~