在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抓包及服务端模拟的更多相关文章

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

    在HTTP接口的测试过程中,一般我们会按照如下的步骤进行: 1)测试环境的准备 2)HTTP消息体的构造 3)HTTP消息的发送及断言 如果我们可以拿到项目组的接口文档,并且HTTP后台服务是可以工作 ...

  2. Fiddler和app抓包

    1:请在“运行”,即下面这个地方输入certmgr.msc并回车,打开证书管理. 打开后,请点击操作--查找证书,如下所示: 然后输入“fiddler”查找所有相关证书,如下所示: 可以看到,我们找到 ...

  3. 接口测试第二课(Fiddler实现APP抓包)

    Fiddler简介: Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数 据. Fiddler 的运行机制其实就 ...

  4. Fiddler+模拟器+APP抓包HTTPS 为什么有时候抓不到?

    抓包的原理是什么? 代理 客户端请求 -> 经过代理 -> 到达服务端 服务端返回 -> 经过代理 -> 到达客户端 任何Https的App都能抓到包么? Android7.0 ...

  5. MQTT的学习研究(九)基于HTTP GET MQTT 抓取消息服务端使用

    官方参看文档: HTTP GET 接收主题请求协议和响应协议http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.c ...

  6. Fiddler 网页采集抓包利器__手机app抓包

    用curl技术开发了一个微信文章聚合类产品,把抓取到的数据转换成json格式,并在android端调用json数据接口加以显示: 基于weiphp做了一个掌上头条插件,也是用的网页采集技术:和一个创业 ...

  7. fiddler对浏览器、app抓包及证书安装(转)

    http://blog.csdn.net/u011608531/article/details/50838227 1.fiddler对浏览器抓包 1.1 对浏览器的http的抓包 Capturing开 ...

  8. APP 抓包-fiddler

    App抓包原理 客户端向服务器发起HTTPS请求 抓包工具拦截客户端的请求,伪装成客户端向服务器进行请求 服务器向客户端(实际上是抓包工具)返回服务器的CA证书 抓包工具拦截服务器的响应,获取服务器证 ...

  9. fiddler对浏览器、app抓包及证书安装

    1.fiddler对浏览器抓包 1.1 对浏览器的http的抓包 Capturing开启,进行抓包: Capturing关闭,停止抓包: 如下图:  1.2 对浏览器的https抓包 1.2.1 开启 ...

随机推荐

  1. Visio中如何画面积一样的形状

    如图,刚开始我想着用辅助的那些线(对齐),实现不了,后来想想直接复制就行了...........

  2. AutoCAD中导入图片

    导入图片涉及到两个关键的问题:如何将图片放置到指定的位置或范围内:如何修改图片的路径类型,如相对路径.绝对路径. 本文以AutoCAD 2018位演示截图来源. 1 将图片放置到指定的位置或范围内 ( ...

  3. thinkphp中JS文件不能写__ROOT__变量

    如题 ,如果写了,就不能正确读取JS中的URL,

  4. JAVA之接口与抽象类区别

    1.概述 一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法 ...

  5. PHP防止sql注入-JS注入

    一:为了网站数据安全,所有和数据库操作的相关参数必须做相关过滤,防止注入引起的网站中毒和数据泄漏 1.PHP自带效验函数 mysql_real_escape_string() 函数转义 SQL 语句中 ...

  6. Centos 通过yum的方式升级内核

    在安装某些软件时,可能对我们的系统内核版本有要求. 比如在安装docker要满足一定的条件,对于centos系统,要求必须是64位,并且内核版本是3.10以上. 如果你的centos操作系统内核低于3 ...

  7. PS PNG导出的时候是否交错有什么影响

    已解决 导出png格式交错什么意思 我百度的答案一律说png支持交错,可是交错两个字的意思是什么啊,那位专家请指教.谢谢啦!! 问题补充: 我用photoshop或者coreldraw制作按钮时候不是 ...

  8. linux命令之------vmstat使用

    在linux命令中,vmstat是个经常用到的分析系统性能的命令之一,主要有两个参数:一个是采样频率,一个是采样的次数.如:vmstat   1  3,意思就是每隔1秒采样1次,总共采样3次. 统计次 ...

  9. TCP/IP详解 卷一(第十八章 TCP连接的建立和终止)

    建立连接 建立一个TCP连接时会发生下述情况 1.客户TCP发送一个SYN(同步)分节,它告诉服务器将在(待建立)连接中发送的数据的初始序列号. 2.服务器确认(ACK)客户的SYN,同时自己也得发送 ...

  10. js 根据所输内容生成助记码

      js生成与中文字符串相对映的拼音首字母串 CreateTime--2017年7月14日16:35:31Author:Marydon 需要工具js文件letter.js,代码如下: /** 作者:梅 ...