为搭建自动化测试环境,我在自己的Win7操作系统下安装了QTP 10,悲剧发生:Web插件不能捕捉到一些Html元素,在HP的官网上查询了下,发现QTP10支持的操作系统中居然没有windows7,凸!
想来想去,最方便的解决方法莫过于直接找个windows xp操作系统的虚拟机,再在虚拟机中安装QTP。虚拟机程序我选择了VirtualBox:
在安装好的XP系统中安装QTP10,再运行大家都知道的mgn-mqt82.exe,问题来了,程序无法执行,弹出错误提示:"CRC error! File content has been modified. If you run a system debugger, clear all breakpoints before running this program!”,这样就无法打开mqt82.exe,也就无法正常使用QuickTestProfessional。
在网上搜索相关问题,结果发现可参照的答案不多,google得到的主要是“As far as I understand this is due to some CPU instructions not being implemented in VirtualBox which makes your software think you're running a debugger. Unfortunately there no way round this issue. " 这等于没说,何况我用的是P8700的CPU,这个可是在VirtualBox中列明支持的CPU。
继续找,在51testing论坛一个不起眼的角落发现了一段话,说明虚拟机中运行mqt82出现CRC错误是因为没有开启VT-x功能导致的。这很有可能!我的机器一直没有开CPU的虚拟化支持功能,赶紧进BOIS,把Enable VT-x/AMD-V的虚拟化支持给开了,然后在VirtualBox的设置中也开启CPU虚拟支持。注意,如果BOIS没有先开启对Virtual Machine的支持,那么这个选项是灰色不能选择的。
设置完毕后重运行VirtualBox内的XP虚拟机,但结果还是一样,报CRC Error。莫非要重启宿主机?我重启了windows7,果然,再进后mqt82运行正常,没有任何问题了。