前言:
Mock通常是指:在测试一个对象时,我们构造一些假的对象来模拟与其交互。而这些Mock对象的行为是我们事先设定且符合预期。通过这些Mock对象来测试对象在正常逻辑,异常逻辑或压力情况下工作是否正常。
那么哪些测试场景需要进行mock呢?
1)上游接口不方便更改,下游无法联调,此刻需要mock上游数据来完成本次的预期结果
2)依赖的上游的接口尚未开发完成
3)接口返回的结果不满足目前的测试需求。虽然接口已经实现,但是个别字段/返回不满足测试要求;
常用的代理工具拦截请求:Charles、 Fiddler【本文以Fillder工具示例】
1:mock请求的数据已至返回数据变更为预期结果
2:mock返回的数据已至返回至界面显示效果
1)右键选中请求》replay》Ruissue and Edit 》修改参数》run to completion
1)打开URL访问
2)找到相对应的接口,设置断点拦截请求(After response)
3)点击拦截接口》修改压缩为none,修改数据》设置为压缩GIZP
4)拖动接口至规则》取消拦截放行
5)继续运行,修改返回数据成功
1、 获取需要延迟的接口
2、配置延迟规则 AutoResponseder
延迟规则配置:*delay:2000 延迟2S
3、然后开启是请求延迟还是响应延迟
Bandwidth(带宽) Utilistation(利用百分比) Round-trip(往返延迟) MTU(最大传输单元)
3G:300k-2Mbps左右
2.5G(GPRS)一般在100kbps
2G(GSM)一般在5-9kbps
PS:弱网、2G、3G建议的上下行速率如下,同时还可以控制丢包率的数据
网络 上行 下行
弱网 10 30
2G 15 50
3G 384 2800
打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,勾选之后访问网站会发现网络慢了很多
Fiddler弱网的原理
Rules—>Cutomize Rules打开CustomRules.js 文档,设置网络参数
if (m\_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession\["request-trickle-delay"\] = "0.3";
// Delay receives by 150ms per KB downloaded.
oSession\["response-trickle-delay"\] = "0.15";
}oSession\["request-trickle-delay"\] = "0.3";
参考资料
手机扫一扫
移动阅读更方便
你可能感兴趣的文章