OyangYujun 2019-11-02
作为前端工程师现在使用绑定hosts在本地开发调试的场景也越来越多,另外,当预发环境和生产环境共用同一个域名时,通过绑定hosts的方式将访问的域名原本指向生产服务器,强制指向预发服务器上。举个例子,假如我要将www.baidu.com指向87testing.com对应的服务器上,87testing.com对应的服务器公网ip:47.94.18.31,配置如下:Tools---->Hosts---->勾选Enable remapping of requests for one host to a different host or IP,overriding DNS.然后host编辑区域,输入需要域名需要指向的服务器公网IP,比如我将www.baidu.com域名指向了47.94.18.31,保存即可。(如果不使用host,勾去掉即可)
此时,电脑浏览器访问:www.baidu.com,结果打开的内容如下:
同时,抓包看到的结果如下:
页面请求时间的统计,比较详细,如果要看整个页面从请求,到最后一个请求结束的整体时间,也可以在会话列表中,ctrl+点击需要统计的请求,右边Statistics可以看到总体明细。
在测试中,这样的场景也非常多,比如被测平台可以有多种货币,有可能从一种货币可以直接兑换成另一种平台货币,在兑换的时候,要多关注下两点安全:数据篡改及并发情况,数据篡改要测试扣减A货币时,篡改金额为负值或金额变少,那么兑换到B货币的数据校验,这个有点类似支付拿少的钱买多的东西,这里就不过多描述了。另外,并发情况,再比如经常会有一些活动相关的测试,假如抽奖活动,一般都有限制一个人一天只能抽一次,那么抽奖的时候同一个用户并发,会不会领取多次奖励。当然最好还是要有正规的压测,或者在测试中可以借助fiddler做一个简单的并发测试,都是很有必要的。
一个人一天只能有一次抽奖机会,那么在点击抽奖按钮发出请求之前,要设置Before Requests Breakpoints,点击抽奖后在会话列表中会看到一个被断点的请求,此时鼠标选中此请求,按shift+u,会弹出并发次数的设置,如下,设置并发次数5次(下面演示截图是发布帖子并发时的截图,可参考)
点击ok,次数会话列表就多出5个请求,如下:
此时,点击工具栏“GO”,六个请求同时发到对应的服务端,即可形成6个并发请求,再看看发表帖子的情况如下:
Fiddler默认配置中是看不到服务器IP的,接下来简单介绍下在fiddler上也能够看到请求的服务器IP:
1、Fiddler---》Rules---》Customize Rules ,
2、在CustomRules.js里搜索找到:static function Main() ,
3、添加如下一行脚本:
FiddlerObject.UI.lvSessions.AddBoundColumn("Server IP", 120, "X-HostIP");`
完整js代码如下: static function Main() { var today: Date = new Date(); FiddlerObject.StatusText = " CustomRules.js was loaded at: " + today; // Uncomment to add a "Server" column containing the response "Server" header, if present FiddlerObject.UI.lvSessions.AddBoundColumn("Server IP", 120, "X-HostIP"); }
添加完成后,重启下fiddler,就可以显示出请求的服务器ip。
常用命令:
help-----打开官方QuickExct命令用法帮助
?87testing------选中带有87testing的请求
bpu www.87testing.com-------拦截www.87testing.com域名请求的requests
Bpafter www.87testing.com------拦截www.87testing.com域名请求的responses
目的:请求百度首页,返回https://www.cnblogs.com/UncleYong/
将左侧的请求拖动到右侧
此时,浏览器访问百度首页,会重定向到:
不使用该规则,取消勾选
或者移除
fiddler_mock.txt
{"code":"0", "message":"success", "content":{"user":"uncleyong","url":"https://www.cnblogs.com/UncleYong/"}}
访问百度首页
另外,还可以用正则匹配
前缀为“EXACT:”表示完全匹配(大小写敏感)
无前缀表示基本搜索,表示搜索到字符串就匹配
前缀为“NOT:”表示发现就不匹配
前缀为“REGEX:”表示使用正则表达式匹配
转自:https://www.cnblogs.com/ceshijiagoushi/p/9418459.html 和 https://www.cnblogs.com/UncleYong/p/10795347.html#_label4
还未整理