最近在学习用Charles模拟接口返回异常值/空值/超时,简单记录 备忘……

1. Charles模拟接口返回异常值
1.1 Block List Setting 方法

Charles --> Tools --> Block List Setting

1)首先打开Block List开关

2)选择自己需要设置的选项,如“drop connection”

3)添加指定的location,如 https://www.baidu.com

4)保存设置~

charles contents内容为乱码 charles error report_字段


之后请求百度的接口,会发现接口直接被拦截了

charles contents内容为乱码 charles error report_Charles_02


在设置的时候还可以选择 “403 respose”,接口会返回403错误

charles contents内容为乱码 charles error report_List_03

1.2 Map Local方法

Charles --> Tools --> Map Local Settings
1)打开map local开关
2)将指定接口的返回映射为本地文件

但是map local只能修改接口返回值,无法返回异常 (如500错误或者404错误)

charles contents内容为乱码 charles error report_接口_04

1.3 打断点 Breakpoints

1)例如需要对baidu接口打断点,抓到该接口后,右键选择Breakpoints(或者选择工具栏里的那个六边形也是一样的作用)

charles contents内容为乱码 charles error report_List_05


2)再次请求该接口,就会出现 edit response,然后修改response的数据就可以啦。

一个完整请求会进入断点模式2次,第一次是request的发出之前,第二次是收到服务器的response但尚未返回给客户端的时候。

所以如果如果没有看到 “edit response” ,execute一下就好啦~

charles contents内容为乱码 charles error report_字段_06


3)将返回状态修改为404以后,点击execute执行,之后这个接口就会变成404

charles contents内容为乱码 charles error report_字段_07

二、Charles模拟接口返回空值

—— 针对读接口模拟返回某一个字段为空

2.1 Map Local方法

Charles --> Tools --> Map Local Settings
1)打开map local开关
2)将指定接口的返回映射为本地文件,在本地文件中将某一字段改为空置即可
(具体操作步骤参考1.2)

2.2 打断点 Breakpoints

打断点后在 response 中将需要置空的字段置空即可
(具体操作步骤参考1.3)

三、Charles模拟接口返回超时
1. 小乌龟~ Throttle Settings

Charles --> Proxy --> Throttle Settings
Charles是支持对指定location限速的~
1)打开小乌龟开关
2)设置只对指定的host生效
3)添加一个指定的location
4)选择一个合适的预设值

然后你再请求这个接口的时候就会发现很慢很慢很慢很慢了……

charles contents内容为乱码 charles error report_List_08

撒花~✿✿ヽ(°▽°)ノ✿