Charles
快来分享你的内容吧~
Charles 第五节 弱网测试
<html> <head></head> <body> <div class="content ql-editor"> <p>大家好,我是玉舒,今天主要给大家分享Charles如何进行弱网测试</p> <p><br></p> <p><br></p> <p>一、弱网测试</p> <p><br></p> <p><br></p> <p>日常测试中我们进行弱网测试,看产品在弱网例如地铁、电梯等场景下的表现。</p> <p><br></p> <p>而Charles 通过修改Throttle Setting可以模拟各种网络如:2G/3G/4G等也可以手动设置网速限制等。</p> <p><br></p> <p>使用步骤如下:</p> <p><br></p> <p>Proxy → Throttle Settings,勾选Enable Setting</p> <p><br></p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/nstbb17v.jpeg" style="" width="774"></p> <p><br></p> <p><br></p> <p>Only for elected hosts 勾选中可以添加需要限速的接口,如果不勾选表示所有接口都执行以下限速设置</p> <p>Throttle preset 可以选择已经设置好了的网络【一般弱网测试选择该项后,下面的内容则不需要再修改】</p> <p>打开App/网页等请求就会变慢,可以通过修改Throttle preset,来调节网络的快慢。</p> <p><br></p> <p><br></p> <p>Throttle的打开和关闭,也可以通过如下三种方式快速操作:</p> <p><br></p> <ol> <li data-list="bullet"><span class="ql-ui"></span>方式一:Proxy →Start/Stop Throttle</li> </ol> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/r1cp93vw.jpeg"></p> <p><br></p> <p><br></p> <ol> <li data-list="bullet"><span class="ql-ui"></span>方式二:Charles小水壶邮件→Throttling</li> </ol> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/ay0xmy3m.jpeg"></p> <p><br></p> <p><br></p> <ol> <li data-list="bullet"><span class="ql-ui"></span>方法三:点击Charles面板上部的小乌龟--变绿则表示打开;变灰则表示关闭</li> </ol> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/0l01amya.jpeg" style="" width="761"></p> <p><br></p> <p><br></p> <p>二、获取准确完整的curl请求和返回</p> <p><br></p> <p>选中对应接口(右键)->Copy cURL Request或Copy Response</p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/h5iywxxx.jpeg" style="" width="714"></p> <p><br></p> <p><br></p> <p><br></p> <p><br></p> <p><br></p> <p>以上就是今天的分享,谢谢你的阅读呀~~</p> <p><br></p> <p><br></p> </div> </body> </html>
Charles 第三节 Rewrite
<html> <head></head> <body> <div class="content ql-editor"> <p>大家好,我是玉舒,今天给大家分享Charles的Rewrite</p> <p><br></p> <p><br></p> <p>一、概述</p> <p><br></p> <p>Rewrite功能适合对某一类网络请求进行一些正则替换,以达到修改请求/结果的目的。可以重写接口所有元素的内容:header、host、url、path、query param、response status、body。</p> <p><br></p> <p>二、使用方法</p> <p><br></p> <p>1、勾选左上角的Enable Rewrite选项,并点击Add,左侧边框出现Untitled Set,在右侧的Name栏可以对此次的Rewrite进行重命名</p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/2qz6odrq.jpeg" style="" width="818"></p> <p><br></p> <p><br></p> <p>2、在右侧Location栏点击Add,在弹出的Edit Location 对话框中,填入相关参数,最后点击OK</p> <p><br></p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/4waahjvi.jpeg"></p> <p><br></p> <p><br></p> <p>3、接着,在右侧Rules栏点击Add ,在弹出的Rewrite Rule 对话框中,填入相关参数,最后点击OK</p> <p><br></p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/l4fc33y3.jpeg"></p> <p><br></p> <p><br></p> <p>三、使用场景</p> <p><br></p> <p>1、修改接口返回数据</p> <p><br></p> <p>作用:对请求的响应内容做修改,一般是对某一个或几个值进行Rewrite,用新的值来替代返回的值</p> <p>使用场景:可以用来mock数据,比方说在开发中为了测试功能需要请求的某个数组字段有值,但是当前环境无法给 出,那么就可以使用该功能,如下会把返回数据中的2021-06-23全部替换成2024-06-23</p> <p><br></p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/vpa2d2zb.jpeg"></p> <p><br></p> <p>2、修改请求的header</p> <p><br></p> <p>作用:可以对请求或者响应的header进行添加、修改及删除。</p> <p><br></p> <p>使用场景:需要对header进行处理时用到,例如为了用上某个环境数据,可能需要对应userID,这时在请求的header中加上userID信息;也可以重写响应header的信息。</p> <p><br></p> <p>如下会在请求的header中添加userID属性</p> <p>注:Match栏的name和value值如果不填会匹配所有的请求,如果有值,则去匹配有对应键值的请求。</p> <p><br></p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/8kgczw2o.jpeg"></p> <p><br></p> <p><br></p> <p>3、修改path</p> <p><br></p> <p>使用指定Rewrite规则的path来响应指定的请求</p> <p><br></p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/pp1e9qay.jpeg"></p> <p><br></p> <p>4、query param : 作用:可以对请求参数进行修改、添加、删除等</p> <p><br></p> <p>使用场景:有时请求可能多传递了不必要的参数,这时可以Rewrite功能去掉多余的参数;另外也可以添加请求必须而暂时无法提供的参数</p> <p><br></p> <p><img src="https://pic.code-nav.cn/planet_post_image/1664859085809405953/xkotis5v.jpeg"></p> <p><br></p> <p><br></p> <p>5、其他</p> <p><br></p> <p>host:主要是对请求进行host修改,以达到本地请求获取指定host环境中的数据,常用于mock数据</p> <p>url: 作用:修改url中某些部分,可以用别的url进行替换或者url裁剪时间戳或者MD5等</p> <p>既可以对host也可以对path进行Rewrite,可以满足指定host下的请求重定向到其他host下对应path下</p> <p>response status: 很少用到,顾名思义就是对response的状态码进行Rewrite</p> <p><br></p> <p><br></p> <p><br></p> <p><br></p> <p><br></p> <p>以上就是今天的分享,谢谢你的阅读呀~</p> <p><br></p> <p><br></p> <p><br></p> <p><br></p> </div> </body> </html>
