用户体验测试的自动化实现

发表于:2008-5-06 14:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈能技    来源:51Testing投稿

分享:

qw

                                       图5  设置“Object Synchronization Timeout”选项
        可以通过设置该选项来达到提高检查属性的速度的目的,也可以在脚本中进行设置。查看如下所示的CheckProperty函数的语法可知道,TimeOut属性是可设置的:
    object.CheckProperty (PropertyName, PropertyValue, [TimeOut])
    因此,可以把CheckFocus函数改成如下脚本所示:
' 检查控件的focused属性
Public Function CheckFocus(TestObject)
 If TestObject.CheckProperty("focused","True",2)  Then
     CheckFocus = True
 Else
   CheckFocus = False
 End IF
End Function
        脚本中把TimeOut设置为2秒,这样当检查到控件的focused属性不为预期的“True”时,QTP会等待2秒再次检查,2秒后不管是否出现期待的属性值,都会立即返回当前属性值。
        其实还可以对脚本进行进一步地调整,因为循环检查TAB顺序时,只要碰到第一个TAB顺序与预期的不匹配时就可以认为出现了错误,TAB顺序设置不合理。因此可以在循环语句中加入判断,如果出现调用CheckFocus返回值为False的情况,则马上退出循环,如下脚本所示:
' 检查控件的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("Cancel")
Dic.Add "4" , Dialog("Login").WinButton("OK")
Dic.Add "5" , Dialog("Login").WinButton("Help")

' 启动应用程序
SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"

' 定位到程序窗口,并判断窗口中的默认焦点是否在正确的位置
Dialog("Login").Activate
CheckFocus(Dic.Item("1"))

For I=2 to Dic.Count
 ' 单击Tab键,检查焦点是否跳转到正确的控件上
 DeviceReplay.PressKey VK_TAB
 If CheckFocus(Dic.Item(CStr(I))) = False Then
        ' 如果碰到焦点没有跳转到正确的控件上的情况,则马上退出循环
  Exit For
 End If 
Next
调整后的脚本运行结果如图6所示。

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号