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. 给Mac的Dictionary添加其他原装词典

    原文:https://www.zhihu.com/question/20428599/answer/223511099 (含下载,但需要论坛注册) 下载(百度网盘):https://blog.csdn ...

  2. 浅谈Pool对象

    Pool对象的技术指标: 避免频繁创建经常使用的稀有资源,提高工作效率. 控制阀值,很多情况下一些关键资源都有一个最佳并发数,超过这个拐点性能有可能急剧下降,也有可能继续增大并发数性能不能提升. 安全 ...

  3. 同一个世界(erlang解题答案)

    最近玩同一个世界,才几关就把3次提示用完了,十分气愤, 于是写了程序来解~~~ o(^▽^)o 以2-1为例子,题目如下 以0代表白色,1代表黑色,抽象的就是这样的 ----------------- ...

  4. android异步任务处理(网络等耗时操作)

    在实际应用中经常会遇到比较耗时任务的处理,比如网络连接,数据库操作等情况时,如果这些操作都是放在主线程(UI线程)中,则会造成UI的假死现象(android4.0后也不许放在UI线程),这可以使用As ...

  5. Headless Service 和Service

    定于spec:clusterIP: None 还记得Service的Cluster IP是做什么的吗?对,一个Service可能对应多个EndPoint(Pod),client访问的是Cluster ...

  6. labview web发布局域网内访问

    按照labview的web访问具体步骤操作完之后,把电脑的网络要设置在局域网环境下,网络要处于专用网络中,就可以进行局域网内访问

  7. sftp无法连接问题

    sftp连接linux 出现错误,就是服务器没有开sftp服务 解决:在linux服务器上,确保sftp定义在sshd的配置文件(一般为/etc/ssh/sshd_config)中:Subsystem ...

  8. freemarker导出word档

    1.word另存为xml:2.xml文件后缀名改成ftl:3.编写完整json字符串备用:4.修改ftl中动态字段为json中对应字段名:5.编写java代码自动生成word文件:(注意:换行用< ...

  9. Python_Mix*re模块基础方法,进阶,正则表达式的使用

    re模块import re 基础方法 findall:匹配所有 ,每一项都是列表中的一个元素,返回的是列表 search只匹配从左到右的第一个,得到的不是直接的结果,而是一个变量,通过这个变量的gro ...

  10. 软工作业PSP与单元测试训练

    任务说明(二选一): 一.实现模块判断传入的身份证号码的正确性: 二.实现模块判断传入的电子邮箱账号的正确性: 选择任务二: 实现要求: 一.实现功能模块: 1. 判断邮箱地址是否为空: 2. 判断邮 ...