QTP11.5/UFT快速入门-焦点

玩技站长
玩技站长
管理员, Keymaster
11056
文章
0
粉丝
Auto测试评论1,078字数 360阅读1分12秒阅读模式

一、什么是焦点:

焦点说白了就是你打开某一个程序时默认的focuse

比如我们那QTP自带的windows下的示例程序来说,启动它后焦点自动落在了agent name文本框上文章源自玩技e族-https://www.playezu.com/11112.html

二、利用Tab键检查焦点:

可以利用键盘上的Tab键来设置焦点的位置;文章源自玩技e族-https://www.playezu.com/11112.html

以示例程序来说,焦点开始在agent name上,按一下Tab,则跳到了pawword上在按一下Tab则到了OK上文章源自玩技e族-https://www.playezu.com/11112.html

三、下面我们写代码来验证一下:

'Dialog("Login").WinEdit("Agent Name:").Set "Mercury"
'Dialog("Login").WinEdit("Password:").SetSecure                                              "5456e5ada0731880d740ab67603518591e1d3520"
'Dialog("Login").WinButton("OK").Click
'Window("Flight Reservation").Close

'检查控件的focused属性的函数

Public Function CheckFocus(TestObject)
    If TestObject.CheckProperty("focused","false",2) Then
    CheckFocus=True
    else
    CheckFocus=false
    End If
End Function

文章源自玩技e族-https://www.playezu.com/11112.html

'tab按键的键值
Const VK_TAB=15
'创建DeviceRepaly对象
Set DeviceReplay=CreateObject("Mercury.DeviceReplay")
'创建Dictionary对象
Set dic=CreateObject("Scripting.Dictionary")

'添加Dictionary的key和valuse,把顺序作为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
  If CheckFocus(dic.item((CStr(i)))) Then
      Exit for
  'Else
   'msgbox"焦点正确"
  End If
Next

 文章源自玩技e族-https://www.playezu.com/11112.html

调试报错:文章源自玩技e族-https://www.playezu.com/11112.html

(1)对象不存在文章源自玩技e族-https://www.playezu.com/11112.html

QTP11.5/UFT快速入门-焦点插图文章源自玩技e族-https://www.playezu.com/11112.html

(2)解决方法:文章源自玩技e族-https://www.playezu.com/11112.html

增加对象:Resources - Object Respository Manager - Object - Add object文章源自玩技e族-https://www.playezu.com/11112.html

QTP11.5/UFT快速入门-焦点插图1

对象导入到Toolbox中

QTP11.5/UFT快速入门-焦点插图2

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证