我爱编程

为 Charles 添加代理页面按钮(Rewrite)

2018-05-28  本文已影响0人  candyleer

背景

测试环境 mobile 测试经常需要刷新页面重新加载数据或者 js, 特别在 app 里面,这一步通常非常麻烦,爱思考的工程师们希望可以在页面上通过代理工具动态添加按钮方便测试(刷新和清除缓存),效果图如下.


image.png

配置

Charles 配置,进入菜单 Tools -> Rewrite

image.png

目标地址和规则配置

image.png

详细配置(注意细节)

image.png
然后在下面的替换规则里面,双击打开,按图配置
<div onclick="location.reload(true)" style="position: fixed; z-index: 9999; left: 0; top: 30%; padding: 1% 3%; background: rgba(255,255,255,1); opacity: .7; box-shadow: 1px 1px 3px rgba(0,0,0,.4)">Reload</div><div onclick="localStorage.clear(); alert('localStorage 已清除')" style="position: fixed; right: 0; top: 30%; padding: 1% 3%; background: rgba(255,255,255,1); opacity: .7; box-shadow: 1px 1px 3px rgba(0,0,0,.4); z-index: 9999">Clear</div></body>

Value 里面的内容是上面的内容
all done

原理

拦截所有请求,凡是返回结果中包含</body> 都会被替换上面这段 html, 这一段 html 里面添加了两个按钮并且设置了事件,达到我们的目的.

Q&A

引用

感谢柯休分享

上一篇下一篇

猜你喜欢

热点阅读