zoukankan      html  css  js  c++  java
  • Charles分享

    Charles
    Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
     
    Charles的功能很强大,这里只介绍几个常用的并且非常实用的功能。
    1.查看IP地址
    Charles有个很好用的查看ip地址的方法,不用每次都cmd -ipconfig去查看,点击Charles顶部菜单栏Help→Local Address,即可看到本机ip地址。
    2.过滤网络请求
    1. Filter
    在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如想过滤多点的请求, 那么只需要在左侧下方的 Filter 栏中填入dmall 即可,如下图所示:
     
    1. Focus
     在想过滤的网络请求上,右键选择 “Focus”,可以快速地过滤出一些没有通过关键字的一类网络请求,过滤后,网络请求不再杂乱看的眼花缭乱,Other Hosts以上为过滤的请求,如下图所示:
     
    3.修改请求
    1. Breakpoints
    • (1)在Charles请求的列表里找到要设置断点的那个请求,鼠标右键菜单选择“breakpoint”。
    • (2)打开断点功能后,即点亮下面这个图标
     
    • (3)再次发起请求,此时页面跳转到edite页面。
     
     
    1. Compose
    • Compose功能是在原有的请求基础上进行修改。
    • 业务场景:假如我们提交报名,校验证件号不能重复,可用此功能修改证件号,快速进行报名,不需要在app上再依次填写各报名字段。  多点App,那我们可以用此功能进行接口测试。
     
    (1)找到需要修改参数的链接,右键选择Compose
    (2)修改参数页面,如下图所示:
    (3)不同参数,可有不同的返回。
    4.修改返回内容
    背景:测试过程中,有时候需要大量的数据来对某一个功能进行测试,没有接触到这个功能时,那些数据通过系统一步步来创建,比较繁琐和麻烦,掌握了此功能可在工作中事半功倍哦~~~
     
    修改服务端返回的数据有很多种方法,如:断点(Breakpoints)、重写(Rewrite)、和Map Local。
    比如:我们想看看金额超级大的时候,金额是否能够全部显示,是否按钮需求来展示呢,我们现在将现有余额改成超级大,试试看展示效果哈~~~
    1. Breakpoints
      1)对要打断点的接口右键,然后选择【BreakPoints】(点击一次就行了,点击多次会移除) ,如果是已经好了的,显示是一个“√”的状态。
     
      2)点击Charles菜单-【Proxy】-【Breakpoint...】,此时会弹出【BreakpointsSettings】对话框,如下图:
      3)双击【Location】内的接口地址,此时会弹出【Edit Breakpoint】对话框,在【Query】项输入:*,如果只需要修改返回的参数,就只勾选【Response】
    (备注 query 写成* 意思 是不管参数是啥,都会进行断点,这里不能填成跟实际的一样,因为有些实际的参数有时间戳类似的 ,时间过了就会变,所以不建议那样写死。
    4)保存上图后,刷新手机界面,即可出现如下图断点界面,因为要修改的是返回值,so 点击 Edit Response 进行修改,(可提前保存数据到本地,然后整体复制进来,否则很容易出现超时)再点击Excute 即可。
    5)再次发起请求,app前端即可看到新的修改数值。
    1. Rewrite
     
    • 2)点击菜单的 Tools→Rewrite Setting,如下图:
     
    • 3)在弹出的 Rewrite Setting,设置各项值,如下图所示:
     
    •                                                            图A
    • 4)在上图A中,点击右侧上面一个Add按钮,在弹出的窗口中,在host文本框中,粘贴上第一步我们复制的URL,然后鼠标焦点定位到Path,会自动将URL中的内容分解到各个文本框中。
     
     5)在上图A中,点击右侧下面一个Add按钮,在弹出的窗口中填写要替换的值的信息,如下图所示:
    6)最后可以看到整体修改的内容,以及修改接口名字,下图所示:
    7)再次发起请求,即可看到前端的变化。
    1. Map Local
         1)选择某一个请求,http://testappapi.dmall.com/app/mypage/home  右键选择Sava response…,将返回值保存起来(文件以json结尾就行),如下图所示:
     
     
    • 2)将保存的文件,通过文本编辑器打开,修改内容后保存。通过map local功能上传我们保存的文件,如下图所示:
     
     
     
    3)再次请求,即可看到app端的值显示成我们修改后的值。
     
    4)取消本地映射
    菜单Toos→选择Map Loacal,弹出Map Local Settings弹窗,取消勾选即可,如下图所示:
     
     
    5.模拟弱网
      Charles模拟弱网设置如下步骤:
    (1)菜单Proxy→Throttle Settings,进入设置界面
    (2)设置界面下图,勾选Enable Throttling,在Throttling preset中可以选择工具默认配置的一些网络状况。
     
     
  • 相关阅读:
    eclipse 关闭web项目无用校验
    Java7的那些新特性
    Linux内核源码情景分析-wait()、schedule()
    android canvas 画图笔记
    android启动第一个界面时即闪屏的核心代码(两种方式)
    leetCode(24):Binary Search Tree Iterator
    12:打印 1 到最大的 n 位数
    Android仿QQ ios dialog,仿QQ退出向上菜单
    iOS UI16_数据持久化
    Android自己定义百度地图缩放图标
  • 原文地址:https://www.cnblogs.com/tianpin/p/13892341.html
Copyright © 2011-2022 走看看