基于fiddler的APP抓包及服务端模拟
在HTTP接口的测试过程中,一般我们会按照如下的步骤进行:
1)测试环境的准备
2)HTTP消息体的构造
3)HTTP消息的发送及断言
如果我们可以拿到项目组的接口文档,并且HTTP后台服务是可以工作的,那我们的接口测试会非常顺利,可以不使用Fiddler工具。
但是,实际情况中,不断的测试前移,需要我们的接口自动化测试用例在编码工作还未完成的情况下,就能准备完成。代码开发完成之后,直接运行自动化用例。
这种情况下,Fiddler工具就能大显身手了。本文介绍两种Fiddler工具的使用场景:
1)在没有接口文档的情况,使用Fiddler抓包,获得HTTP后台接口;
2)在没有HTTP后台服务的情况下,使用Fiddler模拟服务端。
1 移动APP下Fiddler 抓包
为了行文及截图方便,我们使用android模拟器操作,真机的操作步骤一样:
1)让手机和PC在同一个局域网下面,如果PC是笔记本,它们连接同一个wifi网络即可
2)找到PC的IP地址,如下图,运行ipconfig,得到192.168.0.103:
3)在Fiddler工具上点击:Tools->TelerikFiddler Options->connections,在如下的Allow remote computers to connect 的勾打上,记住Fiddler的监听端口8888,稍后会使用上
4)打开手机,长按已连接的wifi网络,点击修改网络
5)在代理上面选择手动,IP填写上面获取的192.168.0.103,端口填写Fiddler的监听端口8888,之后点击保存。
6)此时,我们在手机上面,打开被测试移动APP,在Fiddler上面就可以看到消息体了。以华为应用市场为例:
我们打开华为应用市场,点击我的:
截取的消息如下:
我们可以清晰的看到通过post接口发送的消息包括headers以及body等,以及响应消息体:
至此,移动APP的前后台抓包大功告成。
2 使用Fiddler模拟服务端
通过Fldder的AutoResponder可以做到模拟服务端。
首先,我们介绍最简单的服务模拟方式,即我们有真实响应的情况下,如何模拟服务端。
1)选中我们需要模拟的消息,也就是第11条:
2)保存该消息的响应消息体,用于我们的桩去回一样的响应:
3)点击模拟功能的入口AutoResponder,选中Enablerules,以及Unmatched requests passthrough:
4)点击添加一条规则,在最下面的响应消息下拉框中,选中find a file,指向我们上面保存的文件
5)这样,一条消息的服务端模拟就完成了。
6)我们使用postman检验一下,响应消息和预期的一样,并且是在我们本机的桩上响应的。
上面的这个例子,我们使用了精确匹配EXACT,是最简单的应用。实际上,很多时候,服务端响应的消息体是需要我们自己去构造的,并且上面的消息匹配方式是精确匹配,应用面偏窄了些,这些再普及一下自动匹配的一些知识:
关于自动匹配,可以使用的有:
前缀为“EXACT:”表示完全匹配(大小写敏感)
无前缀表示基本搜索,表示搜索到字符串就匹配
前缀为“REGEX:”表示使用正则表达式匹配
前缀为“REGEX:(?insx)”表示匹配方式其中:
i表示不区分大小写;
n表示指定的唯一有效的捕获是显式命名或编号的形式;
s表示单行模式;
x表示空格说明的;
时间关系,今天的分享就到这里,后续继续给大家写一些经验总结。
基于fiddler的APP抓包及服务端模拟的更多相关文章
- [转]基于fiddler的APP抓包及服务端模拟
在HTTP接口的测试过程中,一般我们会按照如下的步骤进行: 1)测试环境的准备 2)HTTP消息体的构造 3)HTTP消息的发送及断言 如果我们可以拿到项目组的接口文档,并且HTTP后台服务是可以工作 ...
- Fiddler和app抓包
1:请在“运行”,即下面这个地方输入certmgr.msc并回车,打开证书管理. 打开后,请点击操作--查找证书,如下所示: 然后输入“fiddler”查找所有相关证书,如下所示: 可以看到,我们找到 ...
- Fiddler+模拟器+APP抓包HTTPS 为什么有时候抓不到?
抓包的原理是什么? 代理 客户端请求 -> 经过代理 -> 到达服务端 服务端返回 -> 经过代理 -> 到达客户端 任何Https的App都能抓到包么? Android7.0 ...
- 接口测试第二课(Fiddler实现APP抓包)
Fiddler简介: Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数 据. Fiddler 的运行机制其实就 ...
- MQTT的学习研究(九)基于HTTP GET MQTT 抓取消息服务端使用
官方参看文档: HTTP GET 接收主题请求协议和响应协议http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.c ...
- Fiddler 网页采集抓包利器__手机app抓包
用curl技术开发了一个微信文章聚合类产品,把抓取到的数据转换成json格式,并在android端调用json数据接口加以显示: 基于weiphp做了一个掌上头条插件,也是用的网页采集技术:和一个创业 ...
- fiddler对浏览器、app抓包及证书安装(转)
http://blog.csdn.net/u011608531/article/details/50838227 1.fiddler对浏览器抓包 1.1 对浏览器的http的抓包 Capturing开 ...
- APP 抓包-fiddler
App抓包原理 客户端向服务器发起HTTPS请求 抓包工具拦截客户端的请求,伪装成客户端向服务器进行请求 服务器向客户端(实际上是抓包工具)返回服务器的CA证书 抓包工具拦截服务器的响应,获取服务器证 ...
- fiddler对浏览器、app抓包及证书安装
1.fiddler对浏览器抓包 1.1 对浏览器的http的抓包 Capturing开启,进行抓包: Capturing关闭,停止抓包: 如下图: 1.2 对浏览器的https抓包 1.2.1 开启 ...
随机推荐
- spring3.1........jar包下载
1.common-dbcp-1.4.jar 下载地址:http://commons.apache.org/dbcp/ 2.common-pool-1.6.jar 下载地址:http://commons ...
- 如何在windows下载和安装Apache
进入apache服务器官网http://httpd.apache.org/,这里我们以下载稳定版的httpd 2.4.25为例,点击"Files for Microsoft Windows& ...
- 国民身份证号码校验之“C#/Winform方法实现+案例分析”
根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出 ...
- oracle闪回技术总结之闪回数据库
[实施步骤] 步骤一.设置如下的初始化参数: Sql>小时:以分钟为单位 SQL> 点00分左右发现表被删除 切了几个归档 22:00:38SQL>:06:05 SQL> :0 ...
- H.264 SVC 与H.264 AVC
分级视频编码技术实现一次性编码产生具有不同帧率.分辨率的视频压缩码流,然后根据不同网络带宽.不同的显示屏幕和终端解码能力选择需要传输的视频信息量,以此实现视频质量的自适应调整 AVC 实际上是 H.2 ...
- log4j.appender.stdout.layout.ConversionPattern
http://501565246-qq-com.iteye.com/blog/1991881 http://wenku.baidu.com/link?url=e4Z9v9CY_gwRxHrggzHXx ...
- OpenCV 3.2正式发布啦
2016年12月23号OpenCV社区宣布了OpenCV3.2版本正式发布,这个是在OpenCV3.1版本发布一年以后再次升级.在3.2版本中有总数超过数千个的改进与修正,是OpenCV3.x系列中最 ...
- 大大维的游戏机计划3--2048v1
前几天由于忙着过年串门,游戏机的计划搁置了几天.这两天终于空出了一块时间,抽空写了2048. 由于笔者前面自制了一个类似2048的游戏,所以写起来也算是轻车熟路,花了两个晚上也就差不多了. 废话少说, ...
- Professional C# 6 and .NET Core 1.0 - What’s New in C# 6
本文为转载,学习研究 What's New in C# 6 With C# 6 a new C# compiler is available. It's not only that a source ...
- T-SQL 语句
表的创建:1.创建列(字段):列名+类型2.设置主键列(primary key):能够唯一标识一条数据3.设置唯一(unique):内容不能重复4.外键关系:一张表(从表)其中的某列引用自另外一张表( ...