您的位置:首页 > 其它

用户体验测试的自动化实现 - 检查界面元素的尺寸

2008-05-28 21:54 344 查看
  注:本文最早发表在《51测试天地》第九期
检查界面元素的尺寸
在用户体验和界面规范性测试中,还需要检查界面元素的尺寸是否满足一定的规范要求。例如检查所有对话框中的按钮大小是否一致、检查控件的长度和高度的比例是否恰当等。这些都可以用自动化的方式实现检查,只要获取到控件的长度和宽度就可以进行自动的比较。
    在QTP中,可以通过GetROProperty方法获取到测试对象的height属性和width属性,例如下面的脚本所示:
height = Window("记事本").GetROProperty("height")
width = Window("记事本").GetROProperty("width")
    在一般的界面规范中,可能会提到美观与协调方面的原则:长度和高度接近黄金点比例,切忌比例失调,或高度超过长度。
注:黄金分割是一种线段的分割或一种几何图形的比例,特别是在美术设计中能看到,其中较小度量与较大度量和较大度量与整体之比相等,两度量间大约的比例为3:5。
基于这样的界面规范,可以用下面的脚本来实现自动化的检查:
' 定义黄金分割比例
Const GoldenSection = 0.6
 
Window("记事本").Activate
' 获取测试对象的高度
height = Window("记事本").GetROProperty("height")
' 获取测试对象的宽度
width = Window("记事本").GetROProperty("width")
' 计算比例
scale = height /width
 
If scale > 1 Then
       Reporter.ReportEvent micFail, "控件高度超过长度!" , "高度为:" & height & ", 长度为:" & width
End If
If scale = GoldenSection Then
       Reporter.ReportEvent micPass," Golden Section ","控件高度与长度之比完全符合黄金分割比例!"
End If
If scale > GoldenSection Then
        Reporter.ReportEvent micWarning," Golden Section ", "控件高度与长度的比例为" & scale &",与黄金分割比例相比,控件高度过大,长度过小,建议调整以便满足黄金分割比例。"
End If
If scale < GoldenSection Then
       Reporter.ReportEvent micWarning," Golden Section ", "控件高度与长度的比例为" & scale &",与黄金分割比例相比,控件高度过小,长度过大,建议调整以便满足黄金分割比例。"
End If
脚本的设计认为如果控件的高度比其长度还要大,则为设计不当,属于错误;如果高度与长度之比等于黄金分割比例,则通过检查。当然,在设计界面时不可能达到完全匹配黄金分割比例,因此可以定义一个误差范围,只要在这个范围内,都可以称为基本满足黄金分割比例,这个误差范围可在定义界面规范时设定,例如把最大值定为0.75,最小值定为0.5。则可把脚本修改成如下所示:
Window("记事本").Activate
Set testObject = Window("记事本")
' 调用检查黄金分割比例的代码
CheckGoldenSection(testObject)
 
' 把检查黄金分割比例的代码封装成函数
Function CheckGoldenSection(testObject)
    ' 最佳黄金分割比例
       Const GoldenSection = 0.6
    ' 黄金分割比例的最大值
       Const GoldenSectionMax = 0.75
    ' 黄金分割比例的最小值
       Const GoldenSectionMin = 0.5
    ' 获取测试对象的高度
       height = testObject.GetROProperty("height")
    ' 获取测试对象的宽度
width = testObject.GetROProperty("width")
    ' 计算比例
       scale = height /width
   If   scale > 1 Then
           Reporter.ReportEvent micFail, "控件高度超过长度!" , "高度为:" & height & ", 长度为:" & width
           Exit Function
       End If
       If scale = GoldenSection Then
              Reporter.ReportEvent micPass," Golden Section ","控件高度与长度之比完全符合黄金分割比例!"
           Exit Function
    End If
       If scale<= GoldenSectionMax and scale>=GoldenSectionMin Then
              Reporter.ReportEvent micPass," Golden Section ","控件高度与长度之比基本符合黄金分割比例!"
       End If
       If   scale > GoldenSectionMax Then
              Reporter.ReportEvent micWarning," Golden Section ", "控件高度与长度的比例为" & scale &",与黄金分割比例相比,控件高度过大,长度过小,建议调整以便满足黄金分割比例。"
       End If
       If scale < GoldenSectionMin Then
              Reporter.ReportEvent micWarning," Golden Section ", "控件高度与长度的比例为" & scale &",与黄金分割比例相比,控件高度过小,长度过大,建议调整以便满足黄金分割比例。"
       End If
End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息