QTP基本使用——检查焦点
来源:互联网 发布:淘宝哪家化妆品是正品 编辑:程序博客网 时间:2024/05/21 11:12
今天看到一段检验焦点的代码, 特地研究 并分享出来。 希望共同分析。
'目的: 利用Tab键来检查焦点的位置变化是否正确
'检查控件的focused属性的函数
Public function CheckFocus(TestObject)
If TestObject.CheckProperty("focused","True",2) Then
CheckFocus = True
else
CheckFocus = False
End If
End Function
'tab按键的键值
Const VK_TAB = 15
'创建DeviceReplay对象
Set DeviceReplay = CreateObject("Mercury.DeviceReplay")
'创建Dictionary对象,这个和创建数组很类似
Set dic = CreateObject("Scripting.Dictionary")
'添加Dictionary的key和value,把顺序号作为key, 控件对象作为value
dic.add "1",dialog("Login").WinEdit("Agent Name:")
dic.add "2",dialog("Login").WinEdit("Password:")
dic.add "3",dialog("Login").WinButton("OK")
'定位到程序窗口, 并判断窗口中的默认焦点是否在正确的位置
Dialog("Login").Activate
CheckFocus(dic.item("1"))
For i=2 to dic.count
DeviceReplay.PressKey VK_TAB '此处就是点击tab键,
If CheckFocus(dic.item(CStr(i))) = False Then
Exit for
else
msgbox "焦点正确"
End If
Next
PS: 首先要将对象Login加入到Object Repository. 然后在运行脚本即可。
1. 查看属性值的方法
Msgbox Window("名片界面").WinObject("名片界面_一般_昵称").GetROProperty("text")
Msgbox TypeName(Window("名片界面").WinObject("名片界面_一般_昵称").GetROProperty("text"))
actual="xiaochong"
Msgbox StrComp(Window("名片界面").WinObject("名片界面_一般_昵称").GetROProperty("text"),actual,1)
Result:
username '得到具体的text内容
string '得到text的类型
0 '比较实际得到的和actual的差别
2. 标准Windows控件的基本属性和方法
1)使用Exist属性来判断空间是否存在
:可以通过访问控件的Exist属性来判断控件是否存在于当前打开的应用程序中。
2)使用CheckProperty检查控件属性
:使用此方法可以实现与标准检查点想类似的功能。 例如。检查控件的属性是否与指定值相一致,如果一致,则在测试结果中标示为pass,否则标识为fail。
:其实现个功能与checkpoint实现的功能基本一致。
3)使用GetROProperty获取控件的属性
:此方法用于返回测试对象的当前属性
3. DeviceReplay 可以实现鼠标点击桌面上任意指定的坐标,或者模拟点击键盘操作。 好像在判断大小写的时候有局限性, 这里有篇小文章简单介绍了下, 感兴趣的可以研究下:
http://www.51testing.com/?161787/action_viewspace_itemid_84200.html
DeviceReplay 对象用来模拟鼠标的单击和移动、键盘输入等,但有个前提,实用该对象前,需要保证键盘状态正确
如NUMLOCK是否打开等,因为DeviceReplay不能检测键盘状态
Mercury.DeviceReplay包括如下方法:
SendString方法
1、向激活的窗口发送一个或多个键盘按键:object.SendString( str )
2、KeyDown方法
模拟一个按键的按下并保持:object.KeyDown( key ) key:按键的数值码
3、KeyUp方法
模拟通过键盘释放某个按下的按键:object.KeyUp( key )
4、PressKey方法
模拟通过键盘按下一个按键并立即释放:object.PressKey( key ) 5、PressNKeys方法 模拟通过键盘多次按下一个按键并立即释放:object.PressNKey( key, N ) N:重复次数 6、DragAndDrop方法 用于执行从一点拖动到另外一点的操作:object.DragAndDrop( dragX, dragY, dropX, dropY, Button ) Button的值包括 LEFT_MOUSE_BUTTON = 0 MIDDLE_MOUSE_BUTTON = 1 RIGHT_MOUSE_BUTTON = 2 7、MouseClick方法 在指定的屏幕位置执行鼠标左键或右键的单击操作:object.MouseClick( x, y, Button ) 8、MouseDbClick方法 在指定的屏幕位置中执行鼠标左键或右键的双击事件:object.MouseDblClick( x, y, Button ) 9、MouseDown方法 在屏幕指定位置按下鼠标左键或右键,并保持按下状态:object.MouseDown( x, y, Button ) 10、MouseUp方法 用于释放之前执行的MouseDown方法所按下的鼠标按键:object.MouseDown( x, y, Button ) 11、MouseMove方法 用于模拟鼠标移动:object.MouseMove( x, y) 12、SetSynchronizationTimeout方法 设置一个新的同步超时的时间值:object. SetSynchronizationTimeout(nSyncTimeout , is_sec) nSyncTimeout:同步超时的时间值。 is_sec:指定设置的时间值是否以秒为单位
- QTP基本使用——检查焦点
- 使用QTP检查页面中的基本异常
- QTP基本使用——associate actions
- QTP基本使用——Recovery Scenarios
- QTP基本使用——WORD
- QTP基本使用——Excel
- QTP基本使用——WORD
- QTP中页面的基本异常检查
- qtp的基本使用
- [QTP]基本使用
- 【软件自动化测试-QTP实战技能 8】== QTP中页面的基本异常检查
- QTP测试工具的基本使用
- QTP使用心得1——新的开始
- 《QTP使用说明书》——修改测试对象…
- 如何使用qtp检查网页中显示的文字颜色为指定的颜色
- QTP——QTP不支持开发人员自定义属性
- QTP数据库检查和WEB表格数据检查
- QTP数据库检查和WEB表格数据检查
- Photoshop CS3 输入文字不显示(不自动刷新)解决办法
- JOJ 2445: Tree 线段树
- 数据库和数据仓库区别
- jq片段代码分析........
- Oracle 使用Exists 遇到的问题
- QTP基本使用——检查焦点
- 树状数组学习系列1 之 初步分析
- “实际用户ID”、“有效用户ID”和“保存的设置用户ID”的区别
- 暑假干什么
- 在 Ubuntu 中安装 Oracle Data Integrator (ODI)
- Solaris 命令大全
- Linux下高性能网络编程中的几个TCP/IP选项
- VC取目录(包括子目录)下所有文件名
- 网络编程; winSock;