QTP基本使用——检查焦点
2010-07-07 23:09
393 查看
今天看到一段检验焦点的代码, 特地研究 并分享出来。 希望共同分析。
'目的: 利用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 对象用来模拟鼠标的单击和移动
、键盘输入
等,但有个前提,实用该对象前,需要保证键盘状态正确
C7j?7Aw7H0
51Testing
软件测试网'l]AD7X4eV1p
如NUMLOCK是否打开等,因为DeviceReplay不能检测键盘状态
3@"K(O1y(y
R0
+H
XK1P/
_D4U0
Mercury.DeviceReplay包括如下方法:51Testing
软件测试网wL"/KV
BA!C {'u0
1、SendString
方法
51Testing软件测试网h.vj-?:d!S
51Testing软件测试网ib~/V!O6I7e,@Y
向
激活的窗口发送一个或多个键盘按键:object.SendString(
str )
51Testing
软件测试网
bu/h R!z}1u i,qB:n
51Testing软件
测试网'fsSRy'h
2、KeyDown
方法
+S%pr�W%Z^dD]-J0
51Testing软件测试网
K'yI;hC
模拟一个按键的按下并保持:object.KeyDown(
key )
key
:
按键的数值码
z!~R_[2tB?0
;L$b N|qv*n C0
3、KeyUp
方法
51Testing软件测试网0jK|VvY
51Testing软件测试网(TE"L(e�S E,v
模拟通过键盘释放某个按下的按键:object.KeyUp( key )
51Testing软件测试网1?f!b#oD8J|sN
51Testing软件测试网6p l&j${z Q]
4、PressKey
方法
E/F"WZ^/m0
模拟通过键盘按下一个按键并立即释放:
object.PressKey( key )
51Testing
软件测试网P%dR2zaq&kS
2[]VF5j6A1_$d0
5、PressNKeys
方法
-{`n3HZ0
k-Ue/BJ4A&c&B:_[*~0
模拟通过键盘多次按下一个按键并立即释放:
object.PressNKey( key, N )
N:重复次数
!YS5W'E#E$O ^0
k4?�a(cb;_0br-e5[0
6、DragAndDrop
方法
51Testing软件测试网J9Vm].tJ+[:?r0i
51Testing软件测试网/P�f| o [.SL
用于执行从一点拖动到另外一点的操作:
object.DragAndDrop( dragX,
dragY, dropX, dropY, Button )
W ia!L!a3B)bVgl0
Button
的值包括
51Testing软件测试网T/@e
dH4Z
LEFT_MOUSE_BUTTON
= 0
51Testing软件测试
网+d/]:IXA#Km
T
MIDDLE_MOUSE_BUTTON
= 1
-cu/u m-P0
RIGHT_MOUSE_BUTTON
= 2
51Testing软件测试网Yd
Qh-C"b4e2p
51Testing软件测试网$Ic K
PjF cCM
7、MouseClick
方法
51Testing软件测试网0O)W6g;r~d
(FU3bSy]0
在指定的屏幕位置执行鼠标左键或右键的单击操作:
object.MouseClick( x, y,
Button )
51Testing软件测试网
L*z4NR(KeR^&C
XzP%k+}1Y8a$y0
8、MouseDbClick
方法
51Testing软件测试网Ta)v.CHh5N'I
51Testing软件测试网rM0y S'Q&jC/V
在指定的屏幕位置中执行鼠标左键或右键的双
击事件:
object.MouseDblClick(
x, y, Button )
Hw
BA#M
J5?0
51Testing软件测试网 AE:v9`
@Q~6Esi)~
9、MouseDown
方法
51Testing软件测试网F*m%VT,@
%UiZ1G$dh,a*I3N0
在屏幕指定位置按下鼠标左键或右键,并保持
按下状态:
object.MouseDown(
x, y, Button )
51Testing
软件测试网)V,J'YP�}a.@jO2c
51Testing软件测试网.{X|Nf@9n2^3S sB
10、MouseUp
方法
)vu4O
~8W&W
]6s&_
K0
51Testing软件测试网Bz
KW t8u
用于释放之前执行的
MouseDown
方法所按下的鼠标按键:
object.MouseDown(
x, y, Button )
51Testing
软件测试网(}%~+gt,/.M:S&/
51Testing软件测试网
C3XdhVo*}%YF7/
11、MouseMove
方法
mG]oq Bt/~Z0
51Testing软件测试网8]
TT$P7J$G$Y |Tl
用于模拟鼠标移动:object.MouseMove( x, y)
51Testing软件测试网+n8[SQ5X3c
51Testing软件测试网%X({AHr-p
12、SetSynchronizationTimeout
方法
'EoLo*F0
1n8CVIV0
设
置一个新的同步超时的时间值:object.
SetSynchronizationTimeout(
nSyncTimeout , is_sec)
ZjBpwk)V&at0
nSyncTimeout
:
同步超时的时间值。
6^y)DL|b;_/C5y*x/k0
is_sec
:
指定设置的时间值是否以秒为单位
'目的: 利用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 对象用来模拟鼠标的单击和移动
、键盘输入
等,但有个前提,实用该对象前,需要保证键盘状态正确
C7j?7Aw7H0
51Testing
软件测试网'l]AD7X4eV1p
如NUMLOCK是否打开等,因为DeviceReplay不能检测键盘状态
3@"K(O1y(y
R0
+H
XK1P/
_D4U0
Mercury.DeviceReplay包括如下方法:51Testing
软件测试网wL"/KV
BA!C {'u0
1、SendString
方法
51Testing软件测试网h.vj-?:d!S
51Testing软件测试网ib~/V!O6I7e,@Y
向
激活的窗口发送一个或多个键盘按键:object.SendString(
str )
51Testing
软件测试网
bu/h R!z}1u i,qB:n
51Testing软件
测试网'fsSRy'h
2、KeyDown
方法
+S%pr�W%Z^dD]-J0
51Testing软件测试网
K'yI;hC
模拟一个按键的按下并保持:object.KeyDown(
key )
key
:
按键的数值码
z!~R_[2tB?0
;L$b N|qv*n C0
3、KeyUp
方法
51Testing软件测试网0jK|VvY
51Testing软件测试网(TE"L(e�S E,v
模拟通过键盘释放某个按下的按键:object.KeyUp( key )
51Testing软件测试网1?f!b#oD8J|sN
51Testing软件测试网6p l&j${z Q]
4、PressKey
方法
E/F"WZ^/m0
模拟通过键盘按下一个按键并立即释放:
object.PressKey( key )
51Testing
软件测试网P%dR2zaq&kS
2[]VF5j6A1_$d0
5、PressNKeys
方法
-{`n3HZ0
k-Ue/BJ4A&c&B:_[*~0
模拟通过键盘多次按下一个按键并立即释放:
object.PressNKey( key, N )
N:重复次数
!YS5W'E#E$O ^0
k4?�a(cb;_0br-e5[0
6、DragAndDrop
方法
51Testing软件测试网J9Vm].tJ+[:?r0i
51Testing软件测试网/P�f| o [.SL
用于执行从一点拖动到另外一点的操作:
object.DragAndDrop( dragX,
dragY, dropX, dropY, Button )
W ia!L!a3B)bVgl0
Button
的值包括
51Testing软件测试网T/@e
dH4Z
LEFT_MOUSE_BUTTON
= 0
51Testing软件测试
网+d/]:IXA#Km
T
MIDDLE_MOUSE_BUTTON
= 1
-cu/u m-P0
RIGHT_MOUSE_BUTTON
= 2
51Testing软件测试网Yd
Qh-C"b4e2p
51Testing软件测试网$Ic K
PjF cCM
7、MouseClick
方法
51Testing软件测试网0O)W6g;r~d
(FU3bSy]0
在指定的屏幕位置执行鼠标左键或右键的单击操作:
object.MouseClick( x, y,
Button )
51Testing软件测试网
L*z4NR(KeR^&C
XzP%k+}1Y8a$y0
8、MouseDbClick
方法
51Testing软件测试网Ta)v.CHh5N'I
51Testing软件测试网rM0y S'Q&jC/V
在指定的屏幕位置中执行鼠标左键或右键的双
击事件:
object.MouseDblClick(
x, y, Button )
Hw
BA#M
J5?0
51Testing软件测试网 AE:v9`
@Q~6Esi)~
9、MouseDown
方法
51Testing软件测试网F*m%VT,@
%UiZ1G$dh,a*I3N0
在屏幕指定位置按下鼠标左键或右键,并保持
按下状态:
object.MouseDown(
x, y, Button )
51Testing
软件测试网)V,J'YP�}a.@jO2c
51Testing软件测试网.{X|Nf@9n2^3S sB
10、MouseUp
方法
)vu4O
~8W&W
]6s&_
K0
51Testing软件测试网Bz
KW t8u
用于释放之前执行的
MouseDown
方法所按下的鼠标按键:
object.MouseDown(
x, y, Button )
51Testing
软件测试网(}%~+gt,/.M:S&/
51Testing软件测试网
C3XdhVo*}%YF7/
11、MouseMove
方法
mG]oq Bt/~Z0
51Testing软件测试网8]
TT$P7J$G$Y |Tl
用于模拟鼠标移动:object.MouseMove( x, y)
51Testing软件测试网+n8[SQ5X3c
51Testing软件测试网%X({AHr-p
12、SetSynchronizationTimeout
方法
'EoLo*F0
1n8CVIV0
设
置一个新的同步超时的时间值:object.
SetSynchronizationTimeout(
nSyncTimeout , is_sec)
ZjBpwk)V&at0
nSyncTimeout
:
同步超时的时间值。
6^y)DL|b;_/C5y*x/k0
is_sec
:
指定设置的时间值是否以秒为单位
相关文章推荐
- 使用QTP检查页面中的基本异常
- QTP基本使用——Excel
- 浅谈QTP的数据库检查点Database checkpoint使用流程
- qtp的基本使用
- 如何使用qtp检查网页中显示的文字颜色为指定的颜色
- 【软件自动化测试-QTP实战技能 7】== QTP中类的基本使用方法
- QTP基本使用——associate actions
- 如何使用qtp检查网页中显示的文字颜色为指定的颜色
- QTP检查点使用
- qtp的基本使用方法(1)
- QTP检查点使用
- [QTP]基本使用
- QTP基本使用——WORD
- QTP的基本使用方法(六步)
- QTP基本功能的使用
- QTP基本使用——WORD
- QTP的基本使用方法(六步)
- [QTP]基本使用
- QTP检查点使用
- QTP测试工具的基本使用