Charles几个常用测试功能小结

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

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

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

    原文地址:https://csspod.com/getting-started-with-eslint/?utm_source=tuicool&utm_medium=referral 在团队协 ...

  2. MySQL助理配置

    基本配置 你需要经常察看以下3个配置项.不然,可能很快就会出问题. innodb_buffer_pool_size:这是你安装完InnoDB后第一个应该设置的选项.缓冲池是数据和索引缓存的地方:这个值 ...

  3. ABA problem

    多线程及多进程编程同步时可能出现的问题,如果一个值被P1读取两次,两次的值相同,据此判断该值没有被修改过,但该值可能在两次读取之间被P2修改为另外一个value,并在P1再次读取之前修改回了原值.P1 ...

  4. easy ui datagrid 数据绑定

    1.前台页面 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head&gt ...

  5. vim file save as

    the command of vim to save as the file :w new_file_name

  6. Nginx模块fastcgi&lowbar;cache的几个注意点 转

    Nginx模块fastcgi_cache的几个注意点   去年年底,我对nginx的fastcgi_cache进行摸索使用.在我的测试过程中,发现一些wiki以及网络上没被提到的注意点,这里分享一下. ...

  7. UISegmentedControl判断点击第几项

    UISegmentedControl 关于UISegmentedControl判断当前点击的是第几项,找了很久,终于再老外的博客上找到了,在委托中 UISegmentedControl *Seg=se ...

  8. 感觉不止被Q了一下,还不知道被谁套了一个虚弱

    最近身体出现了一些问题,导致博客无法正常更新,只能是看身体状态更新了,相信用不了半个月就会满血复活的,请谅解 Joker在这里提醒大家  身体是革命的本钱,不要透支,不要过度消耗

  9. Codeforces 869C The Intriguing Obsession

    题意:有三种颜色的岛屿各a,b,c座,你可以在上面建桥.联通的点必须满足以下条件:1.颜色不同.2.颜色相同且联通的两个点之间的最短路径为3 其实之用考虑两种颜色的即可,状态转移方程也不难推出:F[i ...

  10. 小程序获取openid 出现null&comma;&lbrace;&quot&semi;errcode&quot&semi;&colon;40163&comma;&quot&semi;errmsg&quot&semi;&colon;&quot&semi;code been used&comma; hints&colon; &lbrack; req&lowbar;id&colon; WNUzlA0105th41 &rsqb;&quot&semi;&rcub;

    //根据微信提供的接口,请求得到openid和session_id public class UserInfoUtils { private String getKeyURL="https: ...