APP测试之Fiddler

文章目录

    • 一、测试思路
      • 1. 通用测试思路
      • 2. 移动APP功能测试思路
    • 二、Fiddler 抓包APP并模拟APP服务器响应数据
      • 1. Fiddler PC端配置
      • 2. 模拟器端配置
      • 3. Inspectors模块查看捕获的抓包信息
      • 4. AutoResponder模块模拟响应数据测试app
    • 三、Fiddler 捕获 HTTPS 协议包
      • 1. PC端安装 Fiddler 证书
      • 2. 模拟器/手机端安装 Fiddler 证书
    • 四、原创手动码字,喜欢就点赞收藏哦

一、测试思路

1. 通用测试思路

笔者认为对Web还是App通常应先按照测试类型来进行考虑

  • 功能测试:能不能用

    以某商品网站的搜索功能为例,一般遵循如下功能测试思路:

    • 单功能测试:考虑单个关键字和多个关键字等;

    • 功能交互测试:考虑搜索已下架的商品、搜索已删除的商品等;

    • 用户场景测试:考虑在登录之后的搜索,未登录时候的搜索等。

  • 性能测试:用起来快不快。负载测试、压力测试、容量测试等,如通过Emmagee、Solopi、Monkey等工具测试各项App性能指标,包括启动时间、存储空间、CPU/GPU占用、流量/电量消耗等

  • 兼容测试:兼不兼容各种环境。如对app,通过阿里云、腾讯云、华为云等云测平台,测试操作系统和手机机型兼容性

  • 网络测试:如通过NEWT、ATC、Qnet等工具,进行移动(2G、3G、4G、5G)和无线(WIFI)的不同网络测试,弱网测试,无网测试;还有网络切换的测试

  • 安装/卸载测试:对App不同方式的安装、启动检查、升级/卸载测试

  • 用户体验测试:操作是否方便,界面是否美观

  • 异常测试:App遇到断网、断电、闪退、收到异常数据

2. 移动APP功能测试思路

以钉钉中发送消息功能为例:

  • 单功能测试:考虑发送文本、图片、语音、视频消息等;

  • 功能交互测试

    1)与手机本身功能的交互,比如通话、短信、闹钟等。在编辑待发送消息时接听电话、拒接电话等;

    2)与手机助手App功能的交互,比如限制低电量时不允许使用网络,此时发送消息;

    3)与App本身功能的交互,给已拉黑自己的好友发消息、给已删除自己的好友发消息、给被封号的好友发消息等;

  • 用户场景测试,比如连续发送消息、撤回已发送消息再发送等;

  • 特殊测试点:考虑横竖屏、分屏;通知栏;长按、滑屏、双击等对应的功能操作。

二、Fiddler 抓包APP并模拟APP服务器响应数据

​ 移动App测试,仅通过界面上测试往往不够,还经常需要使用抓包工具,抓取App和Server之间数据的交互,更为深入的测试。常见的抓包工具有 Fiddler(windows)、Charles(windows、mac)。

1. Fiddler PC端配置

  • Fiddler -> Tools -> Options -> Connections 中,设置【允许远程计算机(包括真机/模拟器)连接】,默认的监听端口是 8888

  • 访问该主机 IP 的 Fiddler 默认端口,如 http://192.168.137.1:8888/ 或访问 http://localhost:8888 ,出现以下内容,即验证 Fiddler 代理服务已启动

2. 模拟器端配置

  • 下载逍遥模拟器,安装完后复制 adb.exe 所在路径

  • adb (Android debug bridge) 路径,注册到环境变量(用户或系统级别均可)

  • 启动模拟器后,运行 adb devices 验证模拟器连接正常,adb install 安装待测试应用 ECMoblie_v3.2.apk

3. Inspectors模块查看捕获的抓包信息

使用 Fiddler - Inspectors 模块 可以用多种不同格式来查看请求数据、响应数据的信息。
查看所连接设备app的抓包,首先需要设置【安卓端模拟器网络代理】和【PC端Fiddler代理】保持一致。

  • 模拟器上设置–修改网络

  • 模拟器网络–高级选项,设置 Fiddler 代理 192.168.137.1:8888与前面连接的PC主机一致

  • 有时由于测试App版本过旧问题,App访问服务器不成功。可在Fiddler -> Tools -> Options -> Hosts 设置 App 所访问服务器 shop.ecmobile 和所测试服务器 118.25.179.224 的映射关系

  • 重启被测试App ECMoblie_v3.2.apk 即可正常访问App的服务器网络

    同时在 Filters过滤器 中勾选 Use Filters 并选择 show only the following hosts 可只查看指定服务器的抓包,如 shop.ecmobile;cloud.ecmobile

  • 如图是Inspectors 模块请求部分的 Headers(请求头),JSON(响应数据)

4. AutoResponder模块模拟响应数据测试app

AutoResponder 模块可以快速模拟各种情况的数据,给app发送伪造的数据测试不同情况下app的响应

以修改待付款数字1为1000为例:

  • 注册一个账户登录并购买一个商品不付款

  • 在 Fiddler 中能查到对应操作的抓包列表

  • 找到购物车对应的抓包信息,在 Inspector 模块下查看 Headers (请求信息头) 和 JSON (响应数据)

  • 在 Fiddler 抓包列表选中需要篡改的记录 ,右键 Save 为完整的响应数据 Cui_My_Response.txt便于篡改

  • 将保存后的响应数据 Cui_My_Response.txt 设置为响应规则

  • 选择要修改的抓包项,找到响应数据中的 JSON,发现对应的待付款字段是 await_pay=0

  • 修改 Cui_My_Response.txt 里 “await_pay”:“0” 为 “await_pay”:“1000”

  • 模拟器App个人中心中验证结果已经变成1000

三、Fiddler 捕获 HTTPS 协议包

1. PC端安装 Fiddler 证书

  • Fiddler -> Tools -> Options -> HTTPS 勾选 Capture HTTPS CONNECTsDecrypt HTTPS traffic,允许捕获 HTTPS 连接,并破解 HTTPS

  • 同意安装 Fiddler 根证书

  • 信任证书成功

  • Options -> HTTPS -> ActionsOpen Windows Certificate Manager打开 certmgr 证书管理中心

  • 查看已安装的 DO_NOT_TRUST_FiddlerRoot certificate 证书

2. 模拟器/手机端安装 Fiddler 证书

  • 模拟器/手机端浏览器访问主机IP的8888端口 http://192.168.137.1:8888/ 下载 FiddlerRoot certificate 安装

  • 安装证书可命名为 Fiddler

  • 访问 HTTPS 协议站点如 ,用 Fiddler -> Inspectors 查看返回的 https 响应信息

四、原创手动码字,喜欢就点赞收藏哦

博主CSDN@崔同学原创手动码字,喜欢记得点赞收藏哦 😃

APP测试之Fiddler

文章目录

    • 一、测试思路
      • 1. 通用测试思路
      • 2. 移动APP功能测试思路
    • 二、Fiddler 抓包APP并模拟APP服务器响应数据
      • 1. Fiddler PC端配置
      • 2. 模拟器端配置
      • 3. Inspectors模块查看捕获的抓包信息
      • 4. AutoResponder模块模拟响应数据测试app
    • 三、Fiddler 捕获 HTTPS 协议包
      • 1. PC端安装 Fiddler 证书
      • 2. 模拟器/手机端安装 Fiddler 证书
    • 四、原创手动码字,喜欢就点赞收藏哦

一、测试思路

1. 通用测试思路

笔者认为对Web还是App通常应先按照测试类型来进行考虑

  • 功能测试:能不能用

    以某商品网站的搜索功能为例,一般遵循如下功能测试思路:

    • 单功能测试:考虑单个关键字和多个关键字等;

    • 功能交互测试:考虑搜索已下架的商品、搜索已删除的商品等;

    • 用户场景测试:考虑在登录之后的搜索,未登录时候的搜索等。

  • 性能测试:用起来快不快。负载测试、压力测试、容量测试等,如通过Emmagee、Solopi、Monkey等工具测试各项App性能指标,包括启动时间、存储空间、CPU/GPU占用、流量/电量消耗等

  • 兼容测试:兼不兼容各种环境。如对app,通过阿里云、腾讯云、华为云等云测平台,测试操作系统和手机机型兼容性

  • 网络测试:如通过NEWT、ATC、Qnet等工具,进行移动(2G、3G、4G、5G)和无线(WIFI)的不同网络测试,弱网测试,无网测试;还有网络切换的测试

  • 安装/卸载测试:对App不同方式的安装、启动检查、升级/卸载测试

  • 用户体验测试:操作是否方便,界面是否美观

  • 异常测试:App遇到断网、断电、闪退、收到异常数据

2. 移动APP功能测试思路

以钉钉中发送消息功能为例:

  • 单功能测试:考虑发送文本、图片、语音、视频消息等;

  • 功能交互测试

    1)与手机本身功能的交互,比如通话、短信、闹钟等。在编辑待发送消息时接听电话、拒接电话等;

    2)与手机助手App功能的交互,比如限制低电量时不允许使用网络,此时发送消息;

    3)与App本身功能的交互,给已拉黑自己的好友发消息、给已删除自己的好友发消息、给被封号的好友发消息等;

  • 用户场景测试,比如连续发送消息、撤回已发送消息再发送等;

  • 特殊测试点:考虑横竖屏、分屏;通知栏;长按、滑屏、双击等对应的功能操作。

二、Fiddler 抓包APP并模拟APP服务器响应数据

​ 移动App测试,仅通过界面上测试往往不够,还经常需要使用抓包工具,抓取App和Server之间数据的交互,更为深入的测试。常见的抓包工具有 Fiddler(windows)、Charles(windows、mac)。

1. Fiddler PC端配置

  • Fiddler -> Tools -> Options -> Connections 中,设置【允许远程计算机(包括真机/模拟器)连接】,默认的监听端口是 8888

  • 访问该主机 IP 的 Fiddler 默认端口,如 http://192.168.137.1:8888/ 或访问 http://localhost:8888 ,出现以下内容,即验证 Fiddler 代理服务已启动

2. 模拟器端配置

  • 下载逍遥模拟器,安装完后复制 adb.exe 所在路径

  • adb (Android debug bridge) 路径,注册到环境变量(用户或系统级别均可)

  • 启动模拟器后,运行 adb devices 验证模拟器连接正常,adb install 安装待测试应用 ECMoblie_v3.2.apk

3. Inspectors模块查看捕获的抓包信息

使用 Fiddler - Inspectors 模块 可以用多种不同格式来查看请求数据、响应数据的信息。
查看所连接设备app的抓包,首先需要设置【安卓端模拟器网络代理】和【PC端Fiddler代理】保持一致。

  • 模拟器上设置–修改网络

  • 模拟器网络–高级选项,设置 Fiddler 代理 192.168.137.1:8888与前面连接的PC主机一致

  • 有时由于测试App版本过旧问题,App访问服务器不成功。可在Fiddler -> Tools -> Options -> Hosts 设置 App 所访问服务器 shop.ecmobile 和所测试服务器 118.25.179.224 的映射关系

  • 重启被测试App ECMoblie_v3.2.apk 即可正常访问App的服务器网络

    同时在 Filters过滤器 中勾选 Use Filters 并选择 show only the following hosts 可只查看指定服务器的抓包,如 shop.ecmobile;cloud.ecmobile

  • 如图是Inspectors 模块请求部分的 Headers(请求头),JSON(响应数据)

4. AutoResponder模块模拟响应数据测试app

AutoResponder 模块可以快速模拟各种情况的数据,给app发送伪造的数据测试不同情况下app的响应

以修改待付款数字1为1000为例:

  • 注册一个账户登录并购买一个商品不付款

  • 在 Fiddler 中能查到对应操作的抓包列表

  • 找到购物车对应的抓包信息,在 Inspector 模块下查看 Headers (请求信息头) 和 JSON (响应数据)

  • 在 Fiddler 抓包列表选中需要篡改的记录 ,右键 Save 为完整的响应数据 Cui_My_Response.txt便于篡改

  • 将保存后的响应数据 Cui_My_Response.txt 设置为响应规则

  • 选择要修改的抓包项,找到响应数据中的 JSON,发现对应的待付款字段是 await_pay=0

  • 修改 Cui_My_Response.txt 里 “await_pay”:“0” 为 “await_pay”:“1000”

  • 模拟器App个人中心中验证结果已经变成1000

三、Fiddler 捕获 HTTPS 协议包

1. PC端安装 Fiddler 证书

  • Fiddler -> Tools -> Options -> HTTPS 勾选 Capture HTTPS CONNECTsDecrypt HTTPS traffic,允许捕获 HTTPS 连接,并破解 HTTPS

  • 同意安装 Fiddler 根证书

  • 信任证书成功

  • Options -> HTTPS -> ActionsOpen Windows Certificate Manager打开 certmgr 证书管理中心

  • 查看已安装的 DO_NOT_TRUST_FiddlerRoot certificate 证书

2. 模拟器/手机端安装 Fiddler 证书

  • 模拟器/手机端浏览器访问主机IP的8888端口 http://192.168.137.1:8888/ 下载 FiddlerRoot certificate 安装

  • 安装证书可命名为 Fiddler

  • 访问 HTTPS 协议站点如 ,用 Fiddler -> Inspectors 查看返回的 https 响应信息

四、原创手动码字,喜欢就点赞收藏哦

博主CSDN@崔同学原创手动码字,喜欢记得点赞收藏哦 😃