检查界面元素的尺寸
在用户体验和界面规范性测试中,还需要检查界面元素的尺寸是否满足一定的规范要求。例如检查所有对话框中的按钮大小是否一致、检查控件的长度和高度的比例是否恰当等。这些都可以用自动化的方式实现检查,只要获取到控件的长度和宽度就可以进行自动的比较。 在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 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Testing_is_believing/archive/2008/05/28/2491657.aspx |
|