用户体验测试的自动化实现 - 检查界面元素的尺寸
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
检查界面元素的尺寸
在用户体验和界面规范性测试中,还需要检查界面元素的尺寸是否满足一定的规范要求。例如检查所有对话框中的按钮大小是否一致、检查控件的长度和高度的比例是否恰当等。这些都可以用自动化的方式实现检查,只要获取到控件的长度和宽度就可以进行自动的比较。
在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
相关文章推荐
- 用户体验测试的自动化实现 - 对检查Tab顺序的脚本进行完善
- 用户体验测试的自动化实现 - 第二种检查Tab顺序的方法
- 用户体验测试的自动化实现 - 检查字体设置
- 用户体验测试的自动化实现 - 检查Tab顺序
- 用户体验测试的QTP自动化实现
- 基于UFT12.0,满足N个用户申请新店铺需求的测试脚本的自动化实现
- 测试你的移动App的用户体验
- Android自动化测试中uiautomator修改uiautomatorviewer获取不到动态界面的缺陷
- 第十六章 提升用户体验 之 设计实现routes
- AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(三)
- jquery实现用户登陆界面(示例讲解)
- 如何实现ie禁止返回功能和禁止用户用back space键返回页面(未测试)
- Appium+java实现自动化测试实例
- 通过录入用户信息实例―体验JavaBean与Servlet在JSP中应用的两种不同的实现过程
- spring自定义拦截器实现用户登入权限检查
- VB中用户登录界面的实现
- web测试之用户体验
- 测试自动化_快速定位元素_生成模板_web篇
- 软概(lesson 1):Javaweb实现用户登录界面
- 用Robot实现有效自动化测试