51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7668|回复: 1
打印 上一主题 下一主题

[原创] 抓包工具Charles常用场景实践

[复制链接]
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-12-1 13:27:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    Charles抓包工具的常用场景
      Charles是一款代理服务器(与Fiddler一样),通过成为电脑或者浏览器的代理,然后截取请求和请求结果分析数据的目的。
      在测试过程中,经常使用该抓包工具达到一下几种目的:
      获取数据分析缺陷的来源
      模拟网络请求:可选择已有的网络速度,也可手动编辑网速
      模拟request请求数据、模拟response响应数据
      黑名单:模拟请求超时、模拟请求返回404等
      环境准备工作
      1、手机设置代理
      连接wifi—代理—设为手动—填入charles所在电脑主机名(cmd--ipconfig)、端口号(8888)--确定

    2、Charles设置端口号:proxy—proxy setting--8888--OK

    3、SSL代理设置
      Proxy—SSL proxy setting—填入主机名及端口号

     4、Proxy—start throttling  通过以上四个步骤设置完成后,就可以开始进行测试
      设置黑名单
      1、选择需要加入黑名单的请求,鼠标点击右键--选择black list即添加成功

    2、查看/修改已加入黑名单的请求  菜单路径tools--black list;一般测试过程中用来模拟请求超时(Drop connection)或者返回403(Return 403 resopnse)

    注意:

     当黑名单添加成功后,对1001端口进行抓取,如图:

    将黑名单去除后,对1001端口进行抓取,如图:(200为获取成功)

    设置断点  设置断点,可以修改请求request数据,也可以修改response响应数据。
      1.  Breakpoints settings(手动编辑断点内容)
      目前使用fiddler发现设置断点,该工具有的返回的格式不是json,导致客户端不会展示

    使用charles工具,可以避免该问题,具体操作如下  对要打断点的接口右键,选择【Breakpoints】,添加到断点列表后,进入proxy- Breakpoints settings设置断点的类型
      断点类型分为:request断点、response断点

    此处设置的断点,需要实时编辑对应的断点内容

    2.自动将指定的响应(response)数据改为固定返回值  1)选择某一个网络请求>鼠标右键Save Response...
      2)如果该请求返回的是一个json串,保存文件时需要保存21006.json
      3)需要更改的请求点击右键Map Local..指定到本地保存的21006.json
      4)通过在本地更改21006.json就可以自动的更改请求的返回值。避免每次使用时修改breakpoints中的返回值,提高效率

    3.自动将指定的请求(request)数据改为固定返回值  1)选择某一个网络请求>鼠标右键map  remote,请求添加成功后
      2)点击tool>map remote settings进入设置页面,双击该请求打开编辑页面
      3)将编辑好的响应数据填充在编辑框的下半部分,如下图

    按上述操作成功后,再次发起该请求,会自动使用已设置好的请求数据  设置网速
      菜单路径:proxy-throttle settings,勾选enable throttling启动限速

    根据以上设置成功后,接下来测试过程中发起的请求都会在该网络下运行。该功能主要用在模拟不同网速下的请求场景,例如:模拟弱网请求  压测/重复发送请求
      菜单路径:tools-Repeat advance,也可以在控制台上选则某个请求,然后鼠标右键打开菜单,选择Repeat advance..,打开Repeat advance的设置窗口如下:

    1.Iterations:重复次数  2.Concurrency:并发
      3.Delays(ms):重复延迟间隔
      设置重复参数后,点击ok会打开新的session进行压测,压测结果如下图:











    附件: 您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2020-12-2 08:45:23 | 只看该作者
    学习
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 06:30 , Processed in 0.063662 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表