cherryqxh 发表于 2010-4-15 14:01:22

DeviceReplay对象实现鼠标点击事件

我想使用DeviceReplay对象实现点击鼠标的操作,写了下面这个函数,但是运行后并没有点击指定的对象,请哪位热心的仁兄帮忙解答下,谢谢!
Function RtClick(obj)
   absx = Obj.GetROProperty("abs_x")
   absy = Obj.GetRoProperty("abs_y")

   Set devReplay = CreateObject("mercury.devicereplay")

   devReplay.MouseClick absx+2,absy+2,0

   Set devReplay =nothing
   
End Function

ps:写该函数,主要是因为click事件在我的项目里不稳定,有时候能够点击成功,有时没有点击成功

TIB 发表于 2010-4-15 14:21:13

函数是没问题的,看调用函数是否有问题了

cherryqxh 发表于 2010-4-15 15:37:15

问题解决了
要使用DeviceReplay,你必须确保被测试的应用程序(AUT)是处于激活状态的窗口。如果你想对某个对象执行一项操作,则该对象必须拥有焦点(focus)。对于Windows应用程序,可以使用Activate方法:
Window( "W" ).Activate micLeftBtn
      如果想把焦点设置到某个指定的对象上,通常使用Click方法可以完成。
      对于Web环境的应用程序,Activate方法不被支持,因此可以使用下面的技巧来完成:
hwnd = Browser( "B" ).GetROProperty( "hwnd" )
Window( "hwnd:=" & hwnd ).Activate micLeftBtn

详见:http://www.51testing.com/html/55/n-81655.html
页: [1]
查看完整版本: DeviceReplay对象实现鼠标点击事件