首页 > 其他分享 >Charles相关

Charles相关

时间:2023-04-13 21:35:15浏览次数:27  
标签:返回 Execute 请求 Charles 修改 设置 相关

  • Charles主要功能有:
    1、截取各种协议的网络包
    2、支持修改请求参数
    3、支持修改返回结果
    4、支持模拟弱网测试

Charles抓包的意义
定位问题,因为可以获取发出去的请求,请求头,请求体,返回的数据,所以可以定位是前端的请求问题,还是后端的返回问题,或者是前端对返回取值的问题。测试同学就可以针对性的提bug,提升效率。除此之外,可以拦截请求,可以修改请求,即可以协助测试同学测试各种异常情况。

 

Charles在web端的抓包

  • web端抓包无需添加设置,打开Charles软件。

  • 此时,在浏览器任意的发起请求,比如访问一个网站,这些请求将被获取。如图,我们可以看到,我们访问的网站的URL,看到status是200(即请求成功)

 

 也可以在request看到请求的具体参数,比如我请求登录的usernam与password

 

 在response中也看的到请求成功的返回,status为0,接口请求成功,并返回了该用户的角色,这样登录成功后前段根据返回参数展示用户可以访问的菜单。

 

 

Charles 修改请求与返回操作
在测试过程中,我们往往需要测试异常场景,通过正常的造数据,可能比较麻烦,我们就可以在Charles中对请求设置断点,在发起请求的过程,我们可以修改请求参数去发起请求,在请求成功后,我们可以修改返回的数据。

先发起一次请求,对该请求设置断点,此次设置后,以后每次请求都将被拦截住。选中此次请求的default,右键,然后选择Breakpoint

 

 

修改请求: 设置断点后,重新发一次请求,此时,我们可以看到浏览器中一直在转圈,没有响应。这是因为请求被拦截中,并没有发送出去。这时候我们看Charles,我们能看到有一个 Edit Request,里面分别有URL、Header、cookies等等,我们分别进行修改,然后点击右下角的Execute按钮。如果不修改请求的话,直接点击Execute按钮。【点了Execute按钮后,此次请求才发送出去了】

 

 

修改返回:我们发起请求后,会收到响应的信息,而响应的信息,也会被Charles拦截住,此时我们能看到一个 Edit response,里面分别有 Header、cookie、txt、html等,我们对应修改后,点击右下角Execute按钮。如果不修改的话,直接点击Execute按钮。【点了Execute按钮后,此次响应才真正的返回给client端,即我们在浏览器中才收到响应】

 

 

 

 

Charles在APP端的抓包
因为Charles和手机直接没有连接,所以不能直接抓APP的包,所以手机需要设置代理,将有Charles的电脑设置为代理服务器,这样每次手机的包就可以被Charles获取。

确保电脑和手机在同一个局域网,通过命令 ipconfig或者查看电脑连接网络的详细信息,得到电脑的IP,然后在Charles里设置一个端口。如图进入proxy setting弹窗,填写端口(没有被占用的端口都可以),勾选上“Enable transparent HTTP proxying”,这样设置就完了

 

 

 

 

打开手机,选择和电脑同一个局域网的WiFi,进入代理设置页面(多找一下,手机不一样可能位置不一样),选择手动代理,输入代理服务器主机名与端口,也可以设置不代理的网址,即访问该网址的请求都过滤,不拦截。

 

 设置完成后,在手机上发送的请求,即可被Charles获取,我们就可以分析请求或者返回啦,从而协助我们判断bug的原因了。

 

 

Charles的弱网设置

  • 我们在测试过程中,需要测试一些网络不好时候的异常场景,我们就可以通过设置Charles,模拟2G、3G的网络情况,设置一些上下行速率,设置一些丢包率。这些设置有行业标准,可以参考行业标准。
  •  

     

  •  

     

 

标签:返回,Execute,请求,Charles,修改,设置,相关
From: https://www.cnblogs.com/ixtao/p/17316477.html

相关文章

  • 考虑交通网络流量的电动汽车充电站规划matlab 采用matlab软件参照相关资料完成电动汽
    考虑交通网络流量的电动汽车充电站规划matlab采用matlab软件参照相关资料完成电动汽车程序,采用粒子群方法ID:5868638495393683......
  • C#多线程学习(一) 多线程的相关概念
    C#多线程学习(一)多线程的相关概念什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码......
  • Docker常用命令--镜像相关
    镜像相关镜像名称镜像名称一般分两部分组成:[repository]:[tag]。在没有指定tag时,默认是latest,代表最新版本的镜像  这里的mysql就是repository,5.7就是tag,合一起就是镜像名称,代表5.7版本的MySQL镜像。拉取、查看镜像从DockerHub中拉取一个nginx镜像并查看(1)首先去镜......
  • cookie的相关作用
    cookie除了使用js文件来将相关的用户名密码存储到cookie里面,并执行保留7天的操作之外,我们同样可以是使用servlet进行相关问题的解决若是用户名以及密码的登录条件符合要求,则可以使用cookie对其进行存储:知乎实现登录成功之后的跳转:如果已经登录过如果已经登录过,那么可以定义......
  • mvc替换t对应的Servle相关接口
      开启注解驱动:    ......
  • ISP-AF相关-聚焦区域选择-清晰度评价-1
    1、镜头相关镜头类型变焦类型:定焦、手动变焦、自动变焦光圈:固定光圈、手动光圈、自动光圈视场角:鱼眼镜头、超广角镜头、广角镜头、标准镜头、长焦镜头、超长焦镜头(由大至小)光圈:超星光镜头、星光镜头、通用镜头接口类型:M12、$\Phi$14、C、CS、尼康F口、索尼A口、佳能E口......
  • Linux磁盘的相关知识
    https://www.jianshu.com/p/c254c972788ahttps://blog.csdn.net/weixin_33904522/article/details/116692690 Linux磁盘分区一块没有分区的磁盘-->主分区+扩展分区-->主分区(c)+D+E+F首先将硬盘分成主分区和扩展分区两部分再将扩展分区划分为若干个逻辑分区主......
  • 什么是laas-Paas-Saas,docker启动设置镜像,镜像相关命令,容器相关命令
    目录什么是laas-Paas-Saas,docker启动设置镜像,镜像相关命令,容器相关命令昨日内容回顾今日内容详细1什么是laas-PaaS-SaaS2docker启动设置镜像2.1启动与停止常用命令3镜像相关命令4容器相关命令补充什么是laas-Paas-Saas,docker启动设置镜像,镜像相关命令,容器相关命令昨日内容......
  • docker02 设置镜像 启动停止 镜像容器相关命令
    今日内容详细目录今日内容详细1什么是laas-Paas和Saas2docker启动设置镜像2.1启动与停止常用命令3镜像相关命令4容器相关命令1什么是laas-Paas和SaasIaas:Infrastructure-as-a-Service(基础设施即服务)IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护......
  • 什么是Iaas-Paas和Saas,Docker镜像与容器,docker 启动设置镜像,docker启动与停止常用命令
    什么是Iaas-Paas和Saas,Docker镜像与容器,docker启动设置镜像,docker启动与停止常用命令,镜像相关命令,容器相关命令什么是Iaas-Paas和Saas#Iaas----->Infrastructure-as-a-Service(基础设施即服务) Iaas公司会提供场外服务器,存储和网络硬件,可以租用场外的服务器。节省了维护......