侧边栏壁纸
  • 累计撰写 14 篇文章
  • 累计创建 10 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

charles在测试工作中常用的一些操作

ximu
2024-03-04 / 0 评论 / 1 点赞 / 70 阅读 / 3051 字

charles在测试工作中常用的一些操作

一、证书安装

安卓系统

注意:在安卓系统7之后的高级版本,对代理证书添加系统信任过于麻烦需要root权限,所以在部分场景是不能实现抓包

image-feqj.png

image-ubnh.png

先确认charles和手机处于同一wifi网络下,然后开启代理,下载charles证书,如果下载下来的证书是不是.crt格式,手机无法识别改格式的证书,需要修改后缀名为crt格式后点击可自动安装到用户证书目录下(信任的凭据-用户)

ios系统

对比安卓抓包难度更低,开启代理后,在设置-通用-关于-证书信任设置,直接开启信任就可以抓到包了

image-njxk.png

二、charles测试常用操作以及原理

charles作为一个抓包工具,在日常使用的时候有比较清晰的目录层级结构,能做一些常用http、https请求的抓包,弱网测试,app抓包,也还支持一些其他功能。

1、breakpoint断点

打断点可以修改请求和响应,一般用来修改前端页面的响应返回,常见用在兼容性测试中,自定义后端返回参数给前端,测试前端的处理逻辑

image-vymk.png

举例:在简书中修改推荐作者的数量和作者的name等等参数返回自己使用,测试的一些关于长度的兼容性,或者数量触发前端逻辑的数据。

2、rewrite重写

image-pmko.png

rewrite可以修改请求请求和响应的hearder,路径,参数等等信息,一般可以用来解决请求跨域,修改返回参数,删除http请求的某些参数

举例:通过rewrite重写添加请求hearder,通过本地映射把接口响应替换成自己的期待值,然后开启重写修改请求头解决跨域等等问题,修改返回时修改本地txt文件里面的json数据即可

access-control-allow-origin:*
access-control-allow-credentials:true

3、map local本地映射

image-lgrc.png

map from指定接口路径域名的接口,map to映射为本地返回文件的结果

举例:通过本地映射修改接口返回的json文件,设置txt文件为一下内容后替换到实际返回的数据

{
    "code":100000,
    "data":{"captcha_id":"8"},
    "msg":"success"
}

4、block list屏蔽请求

image-ivsh.png

block list可以直接把当前接口请求拉黑,当某些请求会自动轮询出结果,并且实时更新数据时,获取完首次信息,或者通过断点获得首次信息之后,通过block list屏蔽该请求,让返回数据始终在期望之内

举例:游戏sdk心跳验证未成年用户无法再指定时间段内登录游戏,通过断点修改验证的信息,第一次先通过了校验之后(不弹窗),block list该接口就可以一直保持在游戏内的状态。

反向代理

端口转发

1

评论区