DeviceReplay的某些方法运行时出现General run error的问题解决

 

     Mercury.DeviceReplay对象用于模拟鼠标单击和移动,还有键盘输入等操作。使用方式一般是:                          

            Set deviceReplay = CreateObject( "Mercury.DeviceReplay" )

            deviceReplay.MouseDown 100,200,1      

   但是在QTP中实际使用的时候,当执行一段时间之后,经常会出现“general run error”的错误,最后发现问题实际上是测试中像素的移动通过参数来获取,但是某些时候传入的像素位置已经超出了屏幕大小,因而出错。

         解决方法是在操作之前先对移动的位置进行判断,这个可以通过与屏幕的高度和宽度进行比对来判断,获取屏幕宽度和高度的代码是:

function ScreenPixel() Dim strComputer strComputer= "." Set objWMIService = GetObject("winmgmts:"& "{impersonationLevel=impersonate}!//"& strComputer & "/root/cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor") For Each objItem In colItems screenWidth=objItem.ScreenWidth screenHeight= objItem.ScreenHeight Next End function  

 

你可能感兴趣的:(function,测试,each)