注:本文最早发表在《51测试天地》第九期
检查字体设置
在进行用户体验测试时,还要关注界面的字体设置是否正确、统一。在QTP中,可以通过访问控件的Font属性来获取字体方面的信息,通过FontSize属性来获得字体的大小,如图12所示。
图12 通过Object Spy查看控件的字体属性
可以采用下面的简单代码来实现对字体的检查:
' 检查控件的字体类型
vbWindow("Form1").VbEdit("Text1").CheckProperty "FontName","隶书"
' 检查控件的字体大小
vbWindow("Form1").VbEdit("Text1").CheckProperty "FontSize",12
当然,也可以封装成一个函数,如下所示:
' 检查字体属性
Public Function CheckFont(TestObject , FontName , FontSize)
If TestObject.CheckProperty("FontName",FontName,2) and TestObject.CheckProperty("FontSize",FontSize,2) Then
CheckFont = True
Else
CheckFont = False
End If
End Function
然后通过类似如下的脚本来调用:
' 检查输入框字体设置是否正确
CheckFont vbWindow("Form1").VbEdit("Text1"),"隶书",12
如果我们希望界面中所有TextBox类型的控件元素都采用统一的字体类型和字体大小,则可以按如下脚本实现:
'创建Description对象
Set MyDescription = Description.Create()
'匹配所有TextBox类型的对象
MyDescription("Class Name").Value = "VbEdit"
'获取所有符合条件的控件对象集合
Set MyChildObject = vbWindow("Form1").ChildObjects(MyDescription)
ChildObjectsCount = MyChildObject.Count
'遍历对象集合并执行检查
For Counter=0 to ChildObjectsCount-1
CheckFont MyChildObject(Counter),"隶书",12
Next
' 检查字体属性
Public Function CheckFont(TestObject , FontName , FontSize)
If TestObject.CheckProperty("FontName",FontName,2) and TestObject.CheckProperty("FontSize",FontSize,2) Then
CheckFont = True
Else
CheckFont = False
End If
End Function
脚本的运行结果如图13所示。
图13 运行结果
在脚本中利用了测试对象的ChildObjects属性来获取某个窗口中的控件。用描述性编程的方式来指定需要检查的控件,例如指定某一类控件,或者是某个控件。当然也可以指定检查所有子控件,只需要把MyDescription("Class Name").Value = "VbEdit"这一句改成如下的脚本即可:
' 指定检查所有子控件
MyDescription("Class Name").Value = ".*"
采用类似的方法,还可以检查字体的粗斜体设置、字体颜色等属性是否满足界面设计规范的要求。