用户体验测试的自动化实现 - 检查字体设置

注:本文最早发表在《51测试天地》第九期

检查字体设置

在进行用户体验测试时,还要关注界面的字体设置是否正确、统一。在QTP中,可以通过访问控件的Font属性来获取字体方面的信息,通过FontSize属性来获得字体的大小,如图12所示。

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 251.25pt; HEIGHT: 427.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape>

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所示。

<shape id="_x0000_i1026" style="WIDTH: 414.75pt; HEIGHT: 356.25pt" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image003.png"><font size="3"></font></imagedata></shape>

13 运行结果

在脚本中利用了测试对象的ChildObjects属性来获取某个窗口中的控件。用描述性编程的方式来指定需要检查的控件,例如指定某一类控件,或者是某个控件。当然也可以指定检查所有子控件,只需要把MyDescription("Class Name").Value = "VbEdit"这一句改成如下的脚本即可:

' 指定检查所有子控件

MyDescription("Class Name").Value = ".*"

采用类似的方法,还可以检查字体的粗斜体设置、字体颜色等属性是否满足界面设计规范的要求。

阅读更多
上一篇TC对于不可识别控件的处理方式
下一篇与AutoHotKey类似的轻量级自动化测试工具 - AutoIt
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭