51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 13037|回复: 34
打印 上一主题 下一主题

QTP调出Web Image对象的右键菜单的方法

[复制链接]

该用户从未签到

跳转到指定楼层
#
发表于 2007-7-10 10:09:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Web里很多对象都有Click方法(object.Click [x], [y], [BUTTON]),带上micRightBtn参数,都能实现右键点击调出右键菜单的操作。
可是不知为何,Image对象就是不能右键点击,不管是否带上micRightBtn参数,Click执行的都是左键点击操作,所以无法调出右键菜单。
应朋友要求,研究了一番,找出替代的解决方法,写了一个函数,可供大家参考



SelectImageMenu browser("test").Page("test").Image("image001"), "R"

'================================================================
' FUNCTION NAME:
'        SelectImageMenu
' FUNCTION DESCRIPTION:
'        Use this function to right-click on a image object and select the pop-up menu
' FUNCTION USAGE:
'        ret = SelectImageMenu(browser("test").Page("test").Image("image001"), "R")
' FUNCTION PARAMETER        
'        ImageObject : The web image object
'        MenuKey : The hot key of pop-up menu item you will select
' FUNCTION RETURN:
'        Return 0 when successfully, or return -1 when fail
'================================================================
Function SelectImageMenu(ImageObject, MenuKey)

        Dim wshShell
        Dim ieServerObject

        Dim x1, y1

        'Get the ie server object
        Set ieServerObject = Window("regexpwndclass:=IEFrame").WinObject("regexpwndclass:=Internet Explorer_Server")

        'get the image position
        x1 = CInt(ImageObject.GetROProperty("abs_x"))
        y1 = CInt(ImageObject.GetROProperty("abs_y"))

        'right-click on image through ie object
        ieServerObject.Click x1, y1, micRightBtn
        wait 1

        'Select the menu item by press hot key
        Set wshShell = CreateObject("WScript.Shell")
        wshShell.SendKeys MenuKey
        wait 1
   
        SelectImageMenu = 0
        
End Function


说明:

因为那右键弹出菜单QTP无法识别,所以QTP无法操作这菜单,只能用键盘按键来代替鼠标选择。

键盘按键可以是热键,如“复制(C)”这一菜单项,可以用按键C来选择,MenuKey就设为"C"。

键盘按键也可以是下箭头和回车键,如要选择第三个菜单项,可以按三下下箭头和回车键来选择,MenuKey就设为"{DOWN}{DOWN}{DOWN}{ENTER}"。这样没有热键的菜单也可以选择了,前提是菜单项目是固定的,不是可变的。

[ 本帖最后由 yabest 于 2007-8-17 18:08 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

34#
发表于 2012-4-19 10:43:05 | 只看该作者
谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

33#
发表于 2011-12-7 10:33:20 | 只看该作者
感谢楼主。
回复 支持 反对

使用道具 举报

该用户从未签到

32#
发表于 2011-8-19 14:55:06 | 只看该作者
click 后面接的x,y坐标可以不写么?右键到底是怎么用,还是没看懂,
回复 支持 反对

使用道具 举报

该用户从未签到

31#
发表于 2011-2-24 16:16:45 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

30#
发表于 2010-5-21 22:52:50 | 只看该作者
好帖收藏
回复 支持 反对

使用道具 举报

该用户从未签到

29#
发表于 2009-12-1 13:56:36 | 只看该作者
学习了!
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2009-11-3 11:15:27 | 只看该作者

学习

谢谢斑竹
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2009-10-30 15:08:30 | 只看该作者
asdfasdfasdf
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2009-10-30 15:08:24 | 只看该作者
asdfasdfasdfasd
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2008-9-17 16:10:59 | 只看该作者
非常感谢楼主,受教了,一直在头疼如何实现这个右键功能呢。
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2008-6-12 10:18:15 | 只看该作者
thanks very much
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2008-6-11 16:45:24 | 只看该作者
这么好的东西虽然还用不到,但是也要收藏起来,以后肯定有用。谢谢楼主啦!
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2008-1-24 18:00:30 | 只看该作者
我也要测个程序的右键快捷键,套用一下,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2007-12-20 13:46:25 | 只看该作者
3Q
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2007-12-3 20:40:39 | 只看该作者
thanks~~
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-9-21 17:57:30 | 只看该作者
没怎么看明白
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2007-9-6 11:49:30 | 只看该作者
Return 0 when successfully, or return -1 when fail
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-9-6 09:36:07 | 只看该作者
SelectImageMenu = 0
什么意思?谢谢LZ!
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2007-9-4 16:24:10 | 只看该作者
我也记不清了,好像是低级录制或模拟录制,可以得到这样的脚本
IE都可以这样用的!

Internet Explorer_Server对象就是IE中间内容部分的对象了,是IE的核心部件,很多软件嵌入了浏览器功能,其实就是引用了这个对象。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-9-4 15:43:01 | 只看该作者
Window("regexpwndclass:=IEFrame").WinObject("regexpwndclass:=Internet Explorer_Server")

ya老师:这个对象怎么找到的描述属性,每个ie都能做成这样的描述吗?winobject是指什么部件?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 21:54 , Processed in 0.085140 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表