基于fiddler的APP抓包及服务端模拟

Posted 光荣之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于fiddler的APP抓包及服务端模拟相关的知识,希望对你有一定的参考价值。

吴老的《selenium webdriver 实战宝典》出版了!

HTTP接口的测试过程中,一般我们会按照如下的步骤进行:

    1)测试环境的准备

2HTTP消息体的构造

3HTTP消息的发送及断言

如果我们可以拿到项目组的接口文档,并且HTTP后台服务是可以工作的,那我们的接口测试会非常顺利,可以不使用Fiddler工具。

但是,实际情况中,不断的测试前移,需要我们的接口自动化测试用例在编码工作还未完成的情况下,就能准备完成。代码开发完成之后,直接运行自动化用例。

这种情况下,Fiddler工具就能大显身手了。本文介绍两种Fiddler工具的使用场景:

1)在没有接口文档的情况,使用Fiddler抓包,获得HTTP后台接口;

2)在没有HTTP后台服务的情况下,使用Fiddler模拟服务端。

 

1 移动APPFiddler 抓包

为了行文及截图方便,我们使用android模拟器操作,真机的操作步骤一样:

1)让手机和PC在同一个局域网下面,如果PC是笔记本,它们连接同一个wifi网络即可

基于fiddler的APP抓包及服务端模拟


3)在Fiddler工具上点击:Tools->TelerikFiddler Options->connections,在如下的Allow remote computers to connect 的勾打上,记住Fiddler的监听端口8888,稍后会使用上

基于fiddler的APP抓包及服务端模拟


4)打开手机,长按已连接的wifi网络,点击修改网络

基于fiddler的APP抓包及服务端模拟


5)在代理上面选择手动,IP填写上面获取的192.168.0.103,端口填写Fiddler的监听端口8888,之后点击保存。

基于fiddler的APP抓包及服务端模拟


6)此时,我们在手机上面,打开被测试移动APP,在Fiddler上面就可以看到消息体了。以华为应用市场为例:

我们打开华为应用市场,点击我的:

基于fiddler的APP抓包及服务端模拟


截取的消息如下:

我们可以清晰的看到通过post接口发送的消息包括headers以及body等,以及响应消息体:

基于fiddler的APP抓包及服务端模拟


至此,移动APP的前后台抓包大功告成。

 

2 使用Fiddler模拟服务端

通过FldderAutoResponder可以做到模拟服务端。

首先,我们介绍最简单的服务模拟方式,即我们有真实响应的情况下,如何模拟服务端。

1)选中我们需要模拟的消息,也就是第11条:

基于fiddler的APP抓包及服务端模拟


2)保存该消息的响应消息体,用于我们的桩去回一样的响应:

基于fiddler的APP抓包及服务端模拟


3)点击模拟功能的入口AutoResponder,选中Enablerules,以及Unmatched requests passthrough

基于fiddler的APP抓包及服务端模拟


4)点击添加一条规则,在最下面的响应消息下拉框中,选中find a file,指向我们上面保存的文件

基于fiddler的APP抓包及服务端模拟


5)这样,一条消息的服务端模拟就完成了。

基于fiddler的APP抓包及服务端模拟


6)我们使用postman检验一下,响应消息和预期的一样,并且是在我们本机的桩上响应的。

 

上面的这个例子,我们使用了精确匹配EXACT,是最简单的应用。实际上,很多时候,服务端响应的消息体是需要我们自己去构造的,并且上面的消息匹配方式是精确匹配,应用面偏窄了些,这些再普及一下自动匹配的一些知识:

关于自动匹配,可以使用的有:

前缀为“EXACT:”表示完全匹配(大小写敏感)

无前缀表示基本搜索,表示搜索到字符串就匹配

前缀为“REGEX:”表示使用正则表达式匹配

前缀为“REGEX:(?insx)”表示匹配方式其中:

  • i表示不区分大小写;

  • n表示指定的唯一有效的捕获是显式命名或编号的形式;

  • s表示单行模式;

  • x表示空格说明的;

时间关系,今天的分享就到这里,后续继续给大家写一些经验总结。

                                                    悟空  2017.2.8



安装喜马拉雅app,搜索“光荣之路”可以收听吴老和他的朋友们分享的35小时测试知识语音


光荣之路
软件测试培训








以上是关于基于fiddler的APP抓包及服务端模拟的主要内容,如果未能解决你的问题,请参考以下文章

实战:移动端Fiddler抓包及弱网模拟

Fiddler 移动端APP数据爬取

Fiddler对安卓App抓包(逍遥模拟器APP)

爬虫移动端数据爬取

Fiddler+夜神模拟器对安卓app进行抓包

客户端抓包用Fiddler,服务端抓包用啥?