• 1
  • 1
分享
  • 抓包工具Charles常用场景实践
  • 饭团🍙 2020-09-24 16:07:12 字数 1676 阅读 2174 收藏 1

  Charles抓包工具的常用场景

  Charles是一款代理服务器(与Fiddler一样),通过成为电脑或者浏览器的代理,然后截取请求和请求结果分析数据的目的。

  在测试过程中,经常使用该抓包工具达到一下几种目的:

  获取数据分析缺陷的来源

  模拟网络请求:可选择已有的网络速度,也可手动编辑网速

  模拟request请求数据、模拟response响应数据

  黑名单:模拟请求超时、模拟请求返回404等

  环境准备工作

  1、手机设置代理

  连接wifi—代理—设为手动—填入charles所在电脑主机名(cmd--ipconfig)、端口号(8888)--确定

图1.png

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

图2.png

  3、SSL代理设置

  Proxy—SSL proxy setting—填入主机名及端口号

图3.png

  4、Proxy—start throttling

  通过以上四个步骤设置完成后,就可以开始进行测试

  设置黑名单

  1、选择需要加入黑名单的请求,鼠标点击右键--选择black list即添加成功

图4.png

  2、查看/修改已加入黑名单的请求

  菜单路径tools--black list;一般测试过程中用来模拟请求超时(Drop connection)或者返回403(Return 403 resopnse)

图5.png

  注意:

图6.png

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

图7.png

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

图8.png

  设置断点

  设置断点,可以修改请求request数据,也可以修改response响应数据。

  1.  Breakpoints settings(手动编辑断点内容)

  目前使用fiddler发现设置断点,该工具有的返回的格式不是json,导致客户端不会展示

图9.png

  使用charles工具,可以避免该问题,具体操作如下

  对要打断点的接口右键,选择【Breakpoints】,添加到断点列表后,进入proxy- Breakpoints settings设置断点的类型

  断点类型分为:request断点、response断点

图10.png

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

图11.png

  2.自动将指定的响应(response)数据改为固定返回值

  1)选择某一个网络请求>鼠标右键Save Response...

  2)如果该请求返回的是一个json串,保存文件时需要保存21006.json

  3)需要更改的请求点击右键Map Local..指定到本地保存的21006.json

  4)通过在本地更改21006.json就可以自动的更改请求的返回值。避免每次使用时修改breakpoints中的返回值,提高效率

图12.png

  3.自动将指定的请求(request)数据改为固定返回值

  1)选择某一个网络请求>鼠标右键map  remote,请求添加成功后

  2)点击tool>map remote settings进入设置页面,双击该请求打开编辑页面

  3)将编辑好的响应数据填充在编辑框的下半部分,如下图

图13.png

  按上述操作成功后,再次发起该请求,会自动使用已设置好的请求数据

  设置网速

  菜单路径:proxy-throttle settings,勾选enable throttling启动限速

图14.png

  根据以上设置成功后,接下来测试过程中发起的请求都会在该网络下运行。该功能主要用在模拟不同网速下的请求场景,例如:模拟弱网请求

  压测/重复发送请求

  菜单路径:tools-Repeat advance,也可以在控制台上选则某个请求,然后鼠标右键打开菜单,选择Repeat advance..,打开Repeat advance的设置窗口如下:

图15.png

  1.Iterations:重复次数

  2.Concurrency:并发

  3.Delays(ms):重复延迟间隔

  设置重复参数后,点击ok会打开新的session进行压测,压测结果如下图:

图16.png


作者:绿豆芽呀   

来源:51Testing软件测试网原创


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   时间过得很快,一眨眼,2023年已经快过去一半了。最近后台不免又出现了经常被同学问道这几个问题:2023年还能转行软件测试吗?零基础转行可行吗?  01、做测试,真的重要吗?  首先,我们先来了解一下软件测试行业的发展史,20世纪60年代(软件工程建立前),为表明程序正确而进行测试;20世纪80年代早期,软件测试定义发生改变;20世纪90年代,测试工具盛行起来。  而国内软件测试的发展更是晚,2004年前,可能很多人都没听过软件测试工程师这个职业,各类企业也不太重视。但随着社会的不断发展,科技的不断进步,企业开始需要大量的软件测试人才,软件测试也开始在国内正式兴起。  十几年的时间,国内的...
            0 0 1100
            分享
          •   今天我想分享一下自己当时写简历以及投简历方面的经历,本文内容纯粹是个人简单分享,如果有写得不好的地方还请读者包涵与指正。  我是去年的九月初开始投递简历的,貌似各行各业的人都有“金九银十”的说法,连找工作也不例外,我自己也是这样想的,所以在投简历之前我没有丝毫的担心,我觉得应该很快就能找到工作,但是紧接着就被现实打脸。  我刚开始写简历的时候根本没有好好研究,结构方面完全是照着网上的模板去套用,内容上面也没有认真考量,这导致简历投出去之后几乎无人问津,有的时候好不容易有人过来跟你聊,但通常聊了几句就没下文了,这种状态持续了一个多星期,我开始有点着急了,难道我有这么差劲吗?  好在我当时没有...
            0 0 634
            分享
          •   手机App软件与Web软件系统的架构是不一样的,手机是基于CS架构,而Web系统是基于BS架构的,所以测试手机App软件那么要考虑的东西会更多一些。  手机App测试,虽然要比Web测试复杂一些,但系统整理起来后,主要也就下面几个方面:  一、App功能测试(也叫App手工测试)  APP功能测试是指测试你这个APP的所有功能点是否能够验证通过。APP功能测试的测试用例设计需要结合产品需求和开发设计文档。这里以测试微博APP为例:  1. 发布微博,从界面上看有文字长度,是否添加图片,是否有话题,是否有@别人等等。  2. 发布微博的操作是否符合用户体验,选择照片,选择要@的人是否符合人类...
            12 12 2636
            分享
          •   摘 要  喂,你那个刚测好的页面怎么又出现了bug?这里怎么交互几次页面重绘就出了问题?你到底对前端测试用例的覆盖率有几分把握,真的没有测试遗漏嘛?对于这些疑问,正在看文章的你如果能够轻松应对,那么请关掉屏幕,本文与你关系不大,出去运动一下吧。但如果你也有类似的困惑,并且正在寻找衡量js代码测试完整度的方法,那么请继续阅读,文中介绍的js覆盖率工具会让你在完善前端测试用例的征途上,走的轻松一些。  正 文  众所周知,前端测试需求多、改动大,业务逻辑复杂又紧密,往往首轮设计的测试用例并不能完全覆盖所有的功能点和diff代码。这时,就需要代码覆盖率工具帮助我们发现测试未能覆盖到的代码分支和逻...
            1 0 1885
            分享
          • 【环球时报综合报道】根据最新的彭博亿万富豪指数,印度商业巨头高塔姆·阿达尼超越亚马逊创始人杰夫·贝索斯,以1470亿美元财富位居富豪榜第二,仅次于特斯拉公司首席执行官埃隆·马斯克,这也刷新了亚洲人在这一榜单上排名的最高纪录。除了阿达尼,另一位印度富豪穆克什·安巴尼以880亿美元排名第十。作为阿达尼集团的创始人兼董事长,阿达尼的财富增长相当迅速。今年初,阿达尼还在榜单上排名第14位。4月,阿达尼上升至第10位,排名第9的是当时印度首富安巴尼。这是首次有两名印度人进入世界十大超级富豪榜,两人主导着印度的能源、基础设施、零售和国防发展行业。《印度时报》17日报道称,由于投资组合扩展到更多领域,阿达尼...
            0 0 1647
            分享
      • 51testing软件测试圈微信