用户体验测试的自动化实现 - 检查界面元素的尺寸
来源:互联网 发布:矩阵的伴随矩阵 编辑:程序博客网 时间:2024/05/20 23:03
注:本文最早发表在《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
- 用户体验测试的自动化实现 - 检查界面元素的尺寸
- 《用户体验测试的自动化实现》- 检查默认焦点位置
- 用户体验测试的自动化实现 - 检查Tab顺序
- 用户体验测试的自动化实现 - 检查字体设置
- 《用户体验测试的自动化实现》- 什么是用户体验测试?
- 用户体验测试的自动化实现 - 对检查Tab顺序的脚本进行完善
- 用户体验测试的自动化实现 - 第二种检查Tab顺序的方法
- 《用户体验测试的自动化实现》一文中的QTP脚本源代码
- 用户体验的五个元素
- QTP11.5全新自动化测试体验 - 分层的自动化测试
- 用户体验测试的心得体会
- 自动化测试软件的体验与比较
- 客户端软件的用户体验界面规范
- 自动化测试框架: 控制界面的关键
- 自动化测试框架: 控制界面的关键
- 自动化测试框架: 控制界面的关键
- 基于界面自动化测试框架的发展
- androidstudio的UIautomaster界面自动化测试
- CSS控制背景图片
- velocity+spring mvc+spring ioc+ibatis初试感觉(与struts+spring+ibatis比较) - 巴士飞扬-专注编程,网站,专业技术
- velocity+spring mvc+spring ioc+ibatis初试感觉(与struts+spring+ibatis比较) - 巴士飞扬-专注编程,网站,专业技术
- CSS控制背景图片
- 第9节 三个败家子(9)——洛神,还是战神?
- 用户体验测试的自动化实现 - 检查界面元素的尺寸
- 攻破.NET伪静态
- java常用数据结构排序算法(续)
- jsf IsPostBack 的实现和翻页问题
- 第10节 三个败家子(10)——竞争上岗当太子
- Net2.0如何实现伪静态技术,或者URL重写? 已完成测试
- test
- cardLayout小应用
- 提问能力