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. C++ for循环语句

    #include "pch.h" #include<iostream> using namespace std; int main() { int i = 1, sum ...

  2. 16、for-of循环

    forEach不支持break for-in把数组当做对象来遍历,但是只能遍历出索引值 for-of循环可以遍历出数组的每一项值,支持break 1.for-in示范: 2.for-of示范 3.fo ...

  3. 常见的HTTP状态码(HTTP Status Code)说明

    作为一个互联网开发人员对于一些服务器返回的HTTP状态的意思都必须是了如指掌的,只有将这些状态码一一弄清楚,工作中遇到的各种问题才能够处理的得心应手.好了,下面就让我们来了解一下比较常见的HTTP状态 ...

  4. dreamware2018破解

    dreamware2018破解     C:\Program Files\Adobe\Adobe Dreamweaver CC 2018      

  5. list map to map

    Map<String, Object> merged = lists.stream() .map(Map::entrySet) .flatMap(Set::stream) .collect ...

  6. SD卡两种操作模式在项目中应用的比较

    1.SDIO接口传输速度比SPI接口传输速度快:2.STM32的SDIO口还真的不好用 特别是4BIT的方式 我都纠结了好久了 用1BIT的方式倒是可以 速度大概可以到读2M字节每秒(STM32F20 ...

  7. html中form表单的使用方法和介绍

    from表单的使用方法 一.表单赏析 二.了解表单功能:用于搜集不同类型的用户输入的内容 有了表单,网页的内容可以由用户自己创建,那么对于网页来说,我们既是网页创建都者,也是网页的消费者. 三.常用的 ...

  8. 【webpack学习笔记】a04-建立开发环境

    开发环境就是在开发过程中为了方便配置的环境,生产环境就是开发完成即将上线的情况. 好了,说了句废话,切入正题. 在开发时,打包后的文件压缩成一团,报错调试的时候傻眼了有木有?每次做出修改需要到浏览器查 ...

  9. left join on 后and 和 where 的区别

    SELECT * FROM student a LEFT JOIN sc b ON a.Sid = b.Sid AND a.Sname="赵雷" 结果:(left join 左连接 ...

  10. python 常用网站

    https://www.tutorialgateway.org/python-tutorial/