QTP基本使用——检查焦点

本文介绍了一段使用QTP进行自动化测试的代码,主要用于检查控件的焦点变化是否正确。通过创建DeviceReplay对象和Dictionary对象,模拟Tab键切换,确保登录对话框中焦点顺序正确。此外,还提到了其他QTP的相关方法,如CheckProperty、GetROProperty和DeviceReplay的各种模拟操作。
摘要由CSDN通过智能技术生成

今天看到一段检验焦点的代码, 特地研究 并分享出来。 希望共同分析。

 

'目的: 利用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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值