用户体验测试的自动化实现 - 第二种检查Tab顺序的方法
来源:互联网 发布:mac win10 触摸板设置 编辑:程序博客网 时间:2024/05/20 20:46
注:本文最早发表在《51测试天地》第九期
第二种检查Tab顺序的方法
前面介绍的检查TAB顺序的方法是通过模拟用户按下TAB键,然后检查控件的Focused属性来判断是否正确地跳转,而接下来要介绍的方法是通过读取控件的“TabIndex”属性来判断控件是否处于正确的TAB顺序的位置中。
我们首先查看一下VB程序的界面设计器中的属性窗口,如图7所示。
图7 VB程序的界面设计器中的属性窗口
可以看到ComboBox控件的属性中有一个名为TabIndex的属性,该属性用于设置或返回控件的Tab键顺序。如果能把这个属性值用起来,则可以在运行时直接取到这个值与预期的TAB顺序值进行比较,从而判断界面控件的TAB顺序设置是否正确。
而在QTP中使用Object Spy可以查看到相同的属性值,如图8所示。这样就意味着可以在脚本中访问和获取该属性值,用于判断控件TAB顺序的设置是否正确。
图8 用Object Spy查看TabIndex属性值
因此第二种检查TAB顺序正确性的脚本可以按以下方式编写:
' 创建Dictionary对象
Set Dic = CreateObject("Scripting.Dictionary")
' 添加Dictionary的key和value,把顺序号作为Key、控件对象作为Value
Dic.Add "0" , vbWindow("Form1").VbComboBox("Combo1")
Dic.Add "1" , vbWindow("Form1").VbEdit("Text1")
Dic.Add "2" , vbWindow("Form1").VbCheckBox("Check1")
Dic.Add "3" ,vbWindow("Form1").VbButton("Cancel")
Dic.Add "4" , vbWindow("Form1").VbButton("OK")
' 定位到Form1窗口
vbWindow("Form1").Activate
For I=0 To Dic.Count
If CheckTabIndex(Dic.Item(CStr(I)) , I ) = False Then
' 如果检查到TabIndex属性值与预期值不一致,则退出循环
Exit For
End If
Next
' 检查控件的TabIndex属性
Public Function CheckTabIndex(TestObject,TabIndexNum)
If TestObject.CheckProperty("TabIndex" ,TabIndexNum , 2) Then
CheckTabIndex = True
Else
CheckTabIndex = False
Reporter.ReportEvent micFail,"CheckTabIndex" , "控件的Tab顺序号与预期值不一致!"
End IF
End Function
该脚本实现了对如图9所示的界面的TAB顺序正确性的检查。
图9 需要检查TAB顺序的程序界面
该脚本的运行结果如图10所示。
图10 运行结果
在检查控件的TabIndex属性时仍然使用的是CheckProperty函数,实际上也可以通过Object属性来访问TabIndex属性,可把CheckTabIndex函数改成如下所示的脚本:
' 检查控件的TabIndex属性,通过Object属性访问TabIndex
Public Function CheckTabIndex2(TestObject,TabIndexNum)
If TestObject.Object.TabIndex=TabIndexNum Then
CheckTabIndex2 = True
Else
CheckTabIndex2 = False
Reporter.ReportEvent micFail,"CheckTabIndex" , TestObject.Object.Name & "控件的Tab顺序号与预期值不一致!"
End IF
End Function
则运行的结果如图11所示。
图11 修改CheckTabIndex函数后的运行结果
可以看到测试结果中少了很多CheckProperty函数所写的Log,我们仅关心控件的TabIndex属性与预期值不一致的情况。
- 用户体验测试的自动化实现 - 第二种检查Tab顺序的方法
- 用户体验测试的自动化实现 - 检查Tab顺序
- 用户体验测试的自动化实现 - 对检查Tab顺序的脚本进行完善
- 《用户体验测试的自动化实现》- 检查默认焦点位置
- 用户体验测试的自动化实现 - 检查字体设置
- 《用户体验测试的自动化实现》- 什么是用户体验测试?
- 用户体验测试的自动化实现 - 检查界面元素的尺寸
- 《用户体验测试的自动化实现》一文中的QTP脚本源代码
- .net框架下实现自动化测试的三种方法
- QTP11.5全新自动化测试体验 - 分层的自动化测试
- 用户体验测试的心得体会
- 用户体验测试方法
- 自动化测试软件的体验与比较
- 细微处提高tab标签鼠标效果的用户体验
- 注重结构、语义、用户体验的Tab选项卡
- 几种Tab的实现方法
- 自动化测试代码的实现
- 【自动化测试】java测试代码里面的执行顺序
- 持久化模式,第 1 部分:现代 ORM 工具的策略和最佳实践
- Linux上创建共享库so(简单步骤)
- 常用正则表达式
- ARM ADS中的AXD 调试经验集锦
- SOA 案例研究,第 2 部分:服务创建
- 用户体验测试的自动化实现 - 第二种检查Tab顺序的方法
- [转贴]去掉Ubuntu桌面的硬盘分区图标
- 关于如何能改变text的内容
- Linux中的.so .a .la文件的含义
- GRUB技巧
- DALFactory
- Ajax 改造,第 1 部分:使用 Ajax 和 jQuery 改进现有站点
- 在 PlayStation 3 上进行 Linux 开发,第 2 部分:内存操作
- 重载,覆盖,隐藏的区别