FireEvent结合WSH实现右键菜单操作
来源:互联网 发布:散爆网络 编辑:程序博客网 时间:2024/06/09 07:07
在qtp自动化测试过程中某些时候可能需要对某个对象进行右键操作,选择右键菜单中的菜单项,但是qtp中没有封装相应的选择右键菜单的方法,此时我们可以使用对象支持的FireEvent方法实现右键点击操作,然后结合wsh的sendkeys模拟键盘的上、下、左、右方向键及回车键实现对菜单的项的选择。
注意:在使用以上方法时,qtp回放模式需要设置为Mouse模式,具体的设置位置:Tools>Options>Web>advanced>Run Setting>Replay Type
以下代码是封装的一个鼠标操作类,将其保存为vbs文件即可(本文保存为MouseOperationClass.vbs,保存于的D:\),提供了以下方法:
1.使用该类时自动设置qtp的回放模式为mouse模式,结束使用该类后自动设置qtp回放模式为event模式
2.提供右键点击操作方法
3.提示模拟按键盘上、下、左、右及回车键的方法
1.使用该类时自动设置qtp的回放模式为mouse模式,结束使用该类后自动设置qtp回放模式为event模式
2.提供右键点击操作方法
3.提示模拟按键盘上、下、左、右及回车键的方法
'###############################################################
'***************************************************************
'功能:右键点击对象及右键菜单选择
'参数:ojb - 支持FireEvent方法的对象;
' moveTime - 需要按某个方向键的次数
'***************************************************************
Class MouseOperation
Dim obj
Dim moveTime
'设置qtp回放模式为鼠标操作模式
Private Sub Class_Initialize
Setting.WebPackage("ReplayType") = 2
End Sub
'设置qtp回放模式为浏览器事件模式
Private Sub Class_Terminate
Setting.WebPackage("ReplayType") = 1
End Sub
'在对象上点击鼠标右键
Sub ClickRightKey(obj)
obj.FireEvent "onclick",,,micRightBtn
End Sub
'在右键菜单上鼠标向上移动选择菜单项
Sub moveUp(moveTime)
Set bjWSH = CreateObject("Wscript.Shell")
For i=0 To moveTime
objWSH.SendKeys "{UP}"
'Wait 1
Next
Set bjWSH = Nothing
End Sub
'在右键菜单上鼠标向下移动选择菜单项
Sub moveDown(moveTime)
Set bjWSH = CreateObject("Wscript.Shell")
For i=1 To moveTime
objWSH.SendKeys "{DOWN}"
'Wait 1
Next
Set bjWSH = Nothing
End Sub
'在右键菜单上鼠标向左移动选择菜单项
Sub moveLeft(moveTime)
Set bjWSH = CreateObject("Wscript.Shell")
For i=1 To moveTime
objWSH.SendKeys "{LEFT}"
'Wait 1
Next
Set bjWSH = Nothing
End Sub
'在右键菜单上鼠标向右移动选择菜单项
Sub moveRight(moveTime)
Set bjWSH = CreateObject("Wscript.Shell")
For i=1 To moveTime
objWSH.SendKeys "{RIGHT}"
'Wait 1
Next
Set bjWSH = Nothing
End Sub
'选择右键菜单项
Sub Choose()
Set bjWSH = CreateObject("Wscript.Shell")
objWSH.SendKeys "{ENTER}"
'Wait 1
Set bjWSH = Nothing
End Sub
End Class
'############################例子############################
以下是一个实例:
测试功能需求:
1.打开百度首页
2.在百度首页"图片"链接上点击鼠标右键
3.选择右键菜单中"所有加速器"下的"管理加载项..."菜单
以下是一个实例:
测试功能需求:
1.打开百度首页
2.在百度首页"图片"链接上点击鼠标右键
3.选择右键菜单中"所有加速器"下的"管理加载项..."菜单
脚本设置思路:
1.调用外部的鼠标操作类
2.调用鼠标操作类的点击右键方法ClickRightKey
3.调用鼠标操作类的按键盘向下方向键方法moveDown,按13次定位到菜单项"所有加速器"
4.调用鼠标操作类的按键盘向右方向键方法moveRight,按1次展开"所有加速器"子菜单
5.调用鼠标操作类的按键盘向下方向键方法moveRight,按4次定位到子菜单中的"管理加载项..."菜单
6.调用鼠标操作类的按键盘回车键方法choose,选择"管理加载项..."菜单
1.调用外部的鼠标操作类
2.调用鼠标操作类的点击右键方法ClickRightKey
3.调用鼠标操作类的按键盘向下方向键方法moveDown,按13次定位到菜单项"所有加速器"
4.调用鼠标操作类的按键盘向右方向键方法moveRight,按1次展开"所有加速器"子菜单
5.调用鼠标操作类的按键盘向下方向键方法moveRight,按4次定位到子菜单中的"管理加载项..."菜单
6.调用鼠标操作类的按键盘回车键方法choose,选择"管理加载项..."菜单
以下是qtp代码:
'加载外部鼠标操作类
executefile "d:\MouseOperationClass.vbs"
'关闭ie浏览器
Systemutil.CloseProcessByName "iexplore.exe"
'打开百度首页
Systemutil.Run "www.baidu.com"
set bj = Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").Link("html tag:=A","name:=图片")
executefile "d:\MouseOperationClass.vbs"
'关闭ie浏览器
Systemutil.CloseProcessByName "iexplore.exe"
'打开百度首页
Systemutil.Run "www.baidu.com"
set bj = Browser("name:=百度一下,你就知道").Page("title:=百度一下,你就知道").Link("html tag:=A","name:=图片")
Set Mouse = New MouseOperation
Mouse.ClickRightKey(obj) '在百度首页“图片”链接上点击右键
Mouse.moveDown(13) '选择右键菜单中的"所有加速器"
Mouse.moveRight(1) '展开"所有加速器"子菜单
Mouse.moveDown(4) '选择"管理加速器..."
Mouse.Choose '选择"所有加速器"子菜单中的"使用"
Set Mouse = Nothing
Mouse.ClickRightKey(obj) '在百度首页“图片”链接上点击右键
Mouse.moveDown(13) '选择右键菜单中的"所有加速器"
Mouse.moveRight(1) '展开"所有加速器"子菜单
Mouse.moveDown(4) '选择"管理加速器..."
Mouse.Choose '选择"所有加速器"子菜单中的"使用"
Set Mouse = Nothing
0 0
- FireEvent结合WSH实现右键菜单操作
- FireEvent结合WSH实现右键菜单操作
- QTP 实现右键操作菜单
- dtree+右键菜单 完美结合,超级简单的实现方法
- zTree结合jquery.contextMenu.js实现右键菜单
- QTP中FireEvent实现多样JS操作
- dtree+右键菜单 完美结合
- hmtl实现右键菜单
- silverlight右键菜单实现
- 实现右键菜单
- js实现右键菜单
- JS 实现右键菜单
- opengl 实现右键菜单
- Extjs实现右键菜单
- jqgrid右键菜单实现
- Ext4右键菜单实现
- jqgrid 右键菜单实现
- 实现右键菜单功能
- windows编程——窗口与消息2
- Android虚拟键盘挡住输入框的处理方法
- mark
- PLS 偏最小二乘
- 《java解惑》读书笔记5——异常谜题
- FireEvent结合WSH实现右键菜单操作
- java入门
- CC2530关于flash的地址的问题讲解
- apache用户名和密码验证
- POJ-1789 Truck History 裸最小生成树
- MySQL性能优化的最佳20+条经验
- 从零开始——为面试做准备,代码篇(二)
- Tomcat 学习进阶历程之启动脚本篇一:startup.bat
- android开发如何使用SQLite数据库教程