Charles- 如何修改服务器返回内容 - Breakpoints
测试过程中经常需要测试不同的界面显示,比如名字太长、特殊符号显示,一方面可以通过修改源数据实现,比如数据库中修改电影名,但是这样的话首先比较麻烦,需要进行数据库操作;其次,修改完之后会影响其他人的工作。比较轻便的做法,则是通过charles修改服务器返回值实现。charles 提供了几种方式,以下介绍 Breakpoints。
假设有这样一个测试需求:测试豆瓣电影名显示。我们使用 charles 来操作一下。
步骤
1、打开 charles,勾选 macOS Proxy,网页请求 https://movie.douban.com/
如果是 https 的请求,需要先配置 https 证书。
页面显示如下:
2、找到热门电影的接口,单击右键选中 “Breakpoints”
【备选项,点击“BreakPoints”后,要去查看工具栏-->Proxy-->SSL Proxying Settings... 】
3、再次请求该页面,该页面刷新后,热门电影区域显示空白,charles 首先弹出“请求”选择框,有 “Cancel”、“Abort”、“Execute” 三个选择,选择 “Execute”,让 charles 通过这次请求。
Cancel 表示取消,Abort 表示中止,Execute 表示执行
4、接下来会触发 “响应” 选择框,点击 “Edit Response”,修改返回值,点击 “Execute”。
显示效果:
总结
本篇文章中,主要介绍了如何使用 Breakpoints 进行请求响应值的修改,但是 Breakpoints 能够应用在 qa 环节的场景其实有很多,例如:
- 在请求之前,修改参数,获取不同参数下的返回值,验证服务端逻辑
- 修改返回值的内容,包括长度,数据格式等,用于校验前端在一些边界情况下的展示
- 修改响应头,测试不同响应条件下,前端的展示情况(例如服务端报错500)
- etc...