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

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

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

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

qqq

                                                     图3  Flight程序登录界面
        仍然使用CheckProperty来检查focused属性,然后判断属性值是否为True,如果为True,则表示当前焦点已经正确地跳转到该控件上,检查完后要执行一次TAB操作,方法是通过使用测试对象的Type方法,输入参数为micTab,micTab是QTP内置的常量值,表示按下TAB键。
对检查Tab顺序的脚本进行完善
        把前面的脚本结构适当调整,让其可维护性更强,则可改成如下所示的脚本:
' 检查控件的focused属性
Public Function CheckFocus(TestObject)
 If TestObject.CheckProperty("focused","True")  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")
Dic.Add "4" , Dialog("Login").WinButton("Cancel")
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
 CheckFocus(Dic.Item(CStr(I)))
Next
        脚本作了以下几点的调整:
(1)其中把检查控件的focused属性的脚本封装成独立的函数已备调用。
(2)使用DeviceReplay对象来发送TAB按键。
(3)使用Dictionary对象来按TAB顺序存储控件对象。
(4)把Dictionary中存储的第一个控件对象作为默认焦点所在的位置,定位到程序界面后,判断窗口中的默认焦点是否在正确的位置。
(5)然后循环遍历Dictionary中存储的控件对象,单击Tab键,检查焦点是否跳转到正确的控件上。
        脚本的运行结果如图4所示:

w

                                                    图4  脚本的运行结果
        但是这个脚本还是有些问题,当某个TAB顺序不对时,CheckProperty函数检查属性的时间会比较长,CheckProperty函数检查属性等待的时间默认是根据如图5所示的“Object Synchronization Timeout”来设置的。

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号