Charles应该是目前最常用的代理软件(之一),使用简单。Charles强大的抓包与协议调试代理功能可以满足我们大部分需求,居然还免费(我可没说有破解版)。日常测试中,我吗常用的几个功能主要是抓取网络请求,查看协议内容,修改请求与响应,另外断点功能以及过滤功能也很实用。简单总结下,各位老鸟请无视,本菜鸟还要飞上天呢。
  • 修改网络请求
    有时候为了调试服务器的接口,需要修改请求的内容与参数。Charles可以方便我们对网络请参数的修改。在网络请求上右键,选择Edit,即可创建一个新的网络请求,设置请求方式,修改URL请求以及header等内容,甚至可以手动添加对象字段,完成后点击Execute即可运行。
 
 
  • 修改服务器返回内容
    Charles提供了Map功能、Rewrite以及Breakpoint功能,都可以修改服务器返回内容。其中map功能可以直接将返回匹配为目标文件,map可以匹配网络文件,使用Map Remote功能,也可以map local匹配本地文件。一般情况下,我们可以将一个网络响应保存到本地,通过编辑器进行修改参数内容,再使用Map Local替换,即可达到目的。
    首先对目标网络请求右键,选择Save Response。打开编辑器修改参数内容后保存。再右键选择map local,设置好协议类型、端口号等参数,保存后即可。
  • Rewrite功能
  Rewrite功能一般对发送的请求或者网络响应内容按照指定的样式替换,不过是对所有经过Charles网络包进行修改。Map功能则是指定了某一类型的网络响应修改与替换。在Proxy选项里选择Rewrite,可以选择本地已经存储的Rules,也可以按照目标设定。选择修改的类型,Request与Reponse的选择则视情况而定,填好指定字段以及需要替换的内容,保存即可。可以根据需要选择替换一处还是多处。
 
 
  • Breakpoints。

适合临时修改请求,在目标请求上右键选择Breakpoints,发起网络请求,网络请求进行会被中断,然后根据需要执行execute观察网络。根据需要选择请求类型以及网络URL,同时可以选择Add添加请求参数,修改好的请求可以在Overview中看到。测试完毕记得去Proxy中Disable Breakpoints。

  • 过滤网络请求
     对网络请求进行过滤有两种方法,第一个就是在所有的请求中进行关键字过滤。选择Sequence模式,在中间Filter一栏中输入查看的关键字即可进行过滤。
 
     
     另外一种方式在Charles的菜单栏里选择“Proxy”-->Recording Setting,在include栏中选择添加对应的目标地址与端口号,这样就只会抓取目标请求。
 
  • 弱网络测试
     Charles可以模拟慢速网络或者高延迟等弱网络情况。在选择中,Proxy中选择Throttle Setting,选择enable后,可以选择自己想要设置的网络以及带宽速率。
 
  • 允许终端接入
     每次有新手机接入代理时都需要通过,尤其是在需求方体验的时候,比较麻烦。可以在设置允许直接接入代理,这样就你可以省去不少小麻烦。
     Proxy中选择Proxy Aceesee Setting,新窗口中可以看到已经允许连接的终端IP。选择add功能,输入0.0.0.0/0,保存。即可任意手机连接了。
 
 

Charles几个常用测试功能小结的更多相关文章

  1. 常用Linux命令小结

    常用Linux命令小结 Linux下有很多常用的很有用的命令,这种命令用的多了就熟了,对于我来说,如果长时间没有用的话,就容易忘记.当然,可以到时候用man命令查看帮助,但是,到时候查找的话未免有些临 ...

  2. Gson Json 序列号 最常用的功能 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. python 几种常用测试框架

    测试的常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的: 每个测试单元必须是完全独立的,必须能单独运行.这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作.通常通过se ...

  4. RealView编译器常用特有功能(转)

    源:RealView编译器常用特有功能 一. 关键字和运算符 1. __align(n):指示编译器在n 字节边界上对齐变量. 对于局部变量,n 值可为 1.2.4 或 8. 对于全局变量,n 可以具 ...

  5. Impala系列: Impala常用的功能函数

    --=======================查看内置的函数--=======================hive 不需要进入什么内置数据库, 即可使用 show functions 命令列出 ...

  6. Java常用测试工具

    第一部分:九款性能测试 Java入门 如果你才刚开始接触Java世界,那么要做的第一件事情是,安装JDK——Java Development Kit(Java开发工具包),它自带有Java Runti ...

  7. iOS常用小功能

    CHENYILONG Blog 常用小功能 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong  ...

  8. iOS 网易彩票-6设置模块三(常用小功能)

    该篇文章中,用到很多iOS开发过程中常用的小功能,当前只是将这些功能集成到网易彩票的设置中.iOS-常用小功能介绍,请参考我的另一篇文章: iOS 常用小功能 总结:http://www.cnblog ...

  9. iOS 常用小功能 总结

    常用小功能 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 打电话 方法一(不被采用): 拨号之前会弹框询问用户是否拨号,拨完后能自动回到原应用 NSUR ...

随机推荐

  1. erlang下lists模块sort(排序)方法源码解析(一)

    排序算法一直是各种语言最简单也是最复杂的算法,例如十大经典排序算法(动图演示)里面讲的那样 第一次看lists的sort方法的时候,蒙了,几百行的代码,我心想要这么复杂么(因为C语言的冒泡排序我记得不 ...

  2. python -- 返回函数、匿名函数、装饰器

    返回函数 高阶函数的参数可以是函数,那么其返回值也可以是函数. 闭包 对于高阶函数,内部函数可以引用外部函数的参数和局部变量.当调用外部函数返回内部函数时,相关参数和变量都保存在返回的函数(即内部函数 ...

  3. 交换机telnet配置

    新开箱交换机开机配置Telnet需要三个步骤: 1.开启telnet是能:系统视图模式下输入命令: telnet server enable #开启telnet功能# 2.Telnet创建账号:aaa ...

  4. grunt,提示node不是内部命令也不是外部命令

    昨天配vue环境,把环境变量改错了.今天grunt报错了,百度一下,就好啦. https://blog.csdn.net/qq_37248318/article/details/80839564 这个 ...

  5. python 编码 自动加双斜杠问题

    小编最近在进行utf-8转码的时候,遇到一个问题: 当其他编码中含有斜杆,如: 当取出该字符串时,会自动把斜杆转换成双斜杠 导致转码报错: 这时候可以在转码的时候加上,即可转换成功了 .decode( ...

  6. DBlink 创建 删除 脚本

    --配置SQLSERVER数据库的DBLINK --删除dblink Exec sp_droplinkedsrvlogin test,Null Exec sp_dropserver test --创建 ...

  7. ThinkPHP5.0源码学习之缓存Cache(一)

    一.文件 1.缓存配置文件:thinkphp\convention.php 2.缓存文件:thinkphp\library\think\Cache.php 3.驱动目录:thinkphp\librar ...

  8. JS前端编码规范

    转自<前端编码规范之JavaScript>,网址:http://www.cnblogs.com/hustskyking/p/javascript-spec.html 一个是保持代码的整洁美 ...

  9. phpquerylist 抓取数据详解

    参考文档 https://doc.querylist.cc/site/index/doc

  10. FileSystemObject对象及常用方法

    FSO 对象模式包含在 Scripting 类型库中,该库位于 Scrrun.dll 文件中.因而,要使用 FSO 对象模式,必须把 Scrrun.dll 放在 Web 服务器的适当系统目录中. 要用 ...