这个问题本身很简单,也很好解决,但是问的人多了,简单的问题也就不再简单了。
在解答这个问题之前,我们首先要先普及一些常识性的知识。
为什么性能测试工具能够录下脚本来?
无论是loadrunner还是jmeter、hyperpacer,录制脚本的原理都是通过代理将客户端的请求截获,然后由代理server发送给后台,而后台的响应也是先发给代理server,最后再由代理server返回给客户端。
loadrunner比较隐晦,它应该是通过wplus_init_wsock.exe来截获socket,然后再根据选择的不同协议,通过api_协议_filter.dll来组织成我们看到的脚本。
而jmeter则属于是简单暴力型,显式的在浏览器添加代理地址,然后自身作为一个代理server截获请求和响应。
hyperpacer跟jmeter的原理一样,但是应该是为了增加易用性,它直接通过修改注册表的方式来实现,好处是确实易用性增加了,尤其是从loadrunner迁移过来的性能测试从业者用起来容易上手,但同时缺点就是:一旦工具出现异常,就没办法把注册表再改回去。这时候也就出现了很多人在win8、win10这类兼容性还不太好的系统上使用hyperpacer的时候,工具异常退出,然后就无法联网了。
所以,解决的办法也很简单,就是把浏览器的代理设置去掉就可以了。
PS:
如果不知道IE的代理设置在哪里,可以把下面一段代码复制到文本文件中,保存为proxy_close.bat文件,然后双击执行一下就可以了。
@echo off
taskkill /im iexplore.exe /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "" /f
echo IE代理取消完成
pause>nul