Mock数据

2017-06-19  本文已影响0人  上汤娃娃菜S

Mock数据
1.能够解决什么问题?
2.什么情况下可以使用?
3.结合场景,如何操作?
3.1 应用场景:对于某一次的请求,进行断点调试,手动修改服务器返回的json数据。
方式1:使用Fiddler完成
方式2:使用Charles完成
3.2 应用场景:用本地的资源(或其他URL)替换线上进行调试
方式1:使用Fiddler完成
方式2:使用Charles完成

Mock数据
1.能够解决什么问题?
主要用于前端开发与测试,适当摆脱对服务器的依赖。比如:- 当服务器数据不符合要求时,通过制造本地虚拟的数据来满足开发测试要求。- 开发前期,服务器约定好json数据的格式,则开发与测试即可以进行工作,不必等服务器接口完全写好。- 在测试中,对于手动测试很难复现的场景,可通过修改接口返回值的情况进行测试。尤其是空值与边界值的情况。

2.什么情况下可以使用?
1.断点调试,如:首页分类多于三页的情况;购物车结算金额最大值的情况
2.开发模式下,接入测试数据或者生产数据查看效果。
3.测试购物车显示50条记录,100条记录,200条记录的情况。
4.调整版本号,测试版本升级5.异常情况的处理,如测试服务器返回空值或者nil时,前端处理情况。
备注:更多使用情况,可参考工具的相关说明。

3.结合场景,如何操作?
3.1 应用场景:对于某一次的请求,进行断点调试,手动修改服务器返回的json数据。
流程为:截断请求,修改数据后,响应修改后内容。

方式1:使用Fiddler完成
1)运行fiddler后,devices上开启fiddler代理(具体方法不再介绍)。
2)开始断点捕获数据,菜单栏【Rules】—【automatic Breakpoints】-【After Responder】,以上操作的目的是我要在请求返回后修改返回结果。

3)点击右边的【Inspector】选项卡。点击右侧下方【Transformer】,记住他的编码格式,默认下【chunked Transfer-Encoding】是选中的,去掉之后下方【HTTP Compression】选中在【GZIP Encoding】上的,没有的话最好,要记住选项,我们在这里统一勾选【no Compression】意思是不压缩,如果不点你的代码没办法修改是乱码的。修改完之后又要点回来的,重新压缩。 4)点击【Textview】可以修改内容: 5)改完后,命令行中输入【go】,可查看页面是否被修改成功! 备注:有的需要点击【Transformer】,选中【chunked Transfer-Encoding】,在执行【go】
方式2:使用Charles完成

1)运行Charles后,devices上开启Charles代理(具体方法不再介绍)。
2)设置断点:右键目标请求—勾选 Breakpoints,保证Enable Breakpoints为红色开启状态。


QQ截图20170619111433.png

3)重新触发该请求,会停留在断点-请求参数页面,此时可以修改请求参数,无误后点击【Execute】。

QQ截图20170619111510.png

请求执行后,会停留在断点-返回数据页面,此时可以修改返回数据,无误后点击【Execute】。


QQ截图20170619111607.png

返回请求列表,查看该请求的返回数据,返回数据应该是修改后的内容。

QQ截图20170619111747.png

3.2 应用场景:用本地的资源(或其他URL)替换线上进行调试
流程为:设置规则,将资源进行替换(改变URL,或者改变json数据等),按照新规则进行响应。

方式1:使用Fiddler完成

1)运行fiddler后,开始抓包;在左侧栏,将需要替换的URL,拖到右侧的AutoResponder
2)在选中的资源下面进行替换,可以用本地文件替换或者直接输入地址,点击保存按钮。

3)等再次进行访问时,发现访问的资源已经改变。
方式2:使用Charles完成
1)运行Charles后,开始抓包。
2)设置Map local:右键目标请求,选择Map local。

进入Map_local设置页后,将路径指向修改后的返回数据文件。

QQ截图20170619111832.png

3)查看请求列表,该请求的返回数据应该是修改后的内容。

上一篇 下一篇

猜你喜欢

热点阅读