控件的ui测试方法及系统的制作方法
【技术领域】
[0001] 本发明涉及互联网技术(Internet Technology,IT)领域,具体涉及一种控件的 UI (User Interface,用户界面)测试方法及系统。
【背景技术】
[0002] 随着软件的开发周期不断缩短,自动化测试已逐步成为软件测试的发展趋势。当 前,业界的自动化测试系统只能对控件等软件的文字、ID(Identity,身份标识)等文本类 信息实现自动化验证,对于控件的UI显示是否正确、是否错位等问题无法验证。因此,本领 域技术人员迫切需要解决的技术问题是,提出一种控件的UI测试方法,以对显示的控件的 UI进行测试,以快速的查找出显示效果是否存在差异。
【发明内容】
[0003] 有鉴于此,本发明实施例提供一种控件的UI测试方法及系统,能够实现对控件的 UI的自动化验证,以测试UI的显示效果。
[0004] 本发明实施例提供的控件的用户界面UI测试方法,包括:对第一终端显示的UI进 行图像截取以得到目标图片,以及对第二终端显示的UI进行图像截取以得到源图片;计算 目标图片和源图片的颜色直方图,并根据两个颜色直方图计算目标图片和源图片的像素值 的巴氏距离;在巴氏距离大于预定阈值时,获取所述目标图片上多个突变像素点的位置和 第一像素值,及源图片上所述位置处的像素点的第二像素值,其中突变像素点为UI的轮廓 上的像素点;计算多个第一像素值和多个第二像素值的差值的方差或标准差,并在方差或 标准差为零时判定控件在第一终端上显示的UI和在第二终端上显示的UI相匹配。
[0005] 其中,所述对第一终端显示的UI进行图像截取以得到目标图片的步骤包括:解析 第一终端的显示界面以得到UI在显示界面上的坐标信息;对第一终端的显示界面上的与 坐标信息对应的区域进行图像截取以得到目标图片。
[0006] 其中,所述对第一终端显示的UI进行图像截取以得到目标图片的步骤包括:通过 鼠标在第一终端的显示界面上框选控件的UI ;对显示界面上的被框选区域进行图像截取 以得到目标图片。
[0007] 其中,所述对第二终端显示的UI进行图像截取以得到源图片的步骤包括:获取目 标图片对应的测试代码,并验证测试代码中包含UI在第一终端的显示界面上的坐标信息 还是相对位置信息;若包含坐标信息,则对第二终端的显示界面上的与坐标信息对应的区 域进行图像截取以得到源图片;若包含相对位置信息,则对第二终端的显示界面上的对与 相对位置信息对应的区域进行图像截取以得到源图片。
[0008] 其中,通过以下关系式得到所述巴氏距离,
[0010] Psd表示巴氏距离,χ i表示第i个像素点在源图片的颜色直方图的概率,y i表示第 i个像素点在目标图片的颜色直方图的概率。
[0011] 本发明实施例提供的控件的用户界面UI测试系统,包括:截图模块,用于对第一 终端显示的UI进行图像截取以得到目标图片,及对第二终端显示的UI进行图像截取以得 到源图片;第一计算模块,用于计算目标图片的颜色直方图和源图片的颜色直方图;第二 计算模块,用于根据两个颜色直方图计算目标图片和源图片的像素值的巴氏距离;比较模 块,用于比较巴氏距离是否大于预定阈值;获取模块,用于在比较模块比较得到巴氏距离大 于预定阈值时,获取目标图片上多个突变像素点的位置和第一像素值,及源图片上该位置 处的像素点的第二像素值,突变像素点为UI的轮廓上的像素点;第三计算模块,用于计算 多个第一像素值和多个第二像素值的差值的方差或标准差,在方差或标准差为零时表示控 件在第一终端上显示的UI和在第二终端上显示的UI相匹配。
[0012] 其中,截图模块用于解析第一终端的显示界面以得到UI在显示界面上的坐标信 息,并对第一终端的显示界面上的与坐标信息对应的区域进行图像截取以得到目标图片。
[0013] 其中,截图模块用于根据鼠标在第一终端的显示界面上框选的UI,对第一终端的 显示界面上的被框选区域进行图像截取以得到目标图片。
[0014] 其中,截图模块用于获取目标图片对应的测试代码,并验证测试代码中包含UI在 第一终端的显示界面上的坐标信息还是相对位置信息;若包含坐标信息,则截图模块对第 二终端的显示界面上的与坐标信息对应的区域进行图像截取以得到源图片;若包含相对位 置信息,则截图模块对第二终端的显示界面上的对与相对位置信息对应的区域进行图像截 取以得到源图片。
[0015] 其中,第二计算模块通过以下关系式得到所述巴氏距离,
[0017] Psd表示巴氏距离,X i表示第i个像素点在源图片的颜色直方图的概率,y i表示第 i个像素点在目标图片的颜色直方图的概率。
[0018] 本发明实施例的控件的UI测试方法及系统,采用颜色直方图和采集突变像素点 相结合的方式对目标图片和源图片所显示的UI的相似度进行测试,从而实现对UI的自动 化验证,以测试UI的显示效果。
【附图说明】
[0019] 图1是本发明的控件的UI测试方法一实施例的流程示意图;
[0020] 图2是本发明的控件的UI测试系统一实施例的原理框示意图;
[0021] 图3是本发明的控件的UI测试系统一实施例的硬件结构示意图。
【具体实施方式】
[0022] 本发明实施例控件的UI测试方法用于验证控件的UI的显示效果是否与软件开发 所预期的相匹配,具体可以理解为验证控件的UI在不同终端上的显示效果是否相同,即该 控件在不同终端上所显示的UI是否存在差异。本发明实施例的测试方法采用颜色直方图 和采集突变像素点相结合的方式对目标图片和源图片所显示的UI的相似度进行测试,从 而实现对UI的自动化验证,以测试UI的显示效果。
[0023] 本发明实施例可以预先编程测试软件并将该测试软件存储于包括但不限于 PC(Personal Computer,个人计算机或电脑)机的服务器(测试用设备)中,通过该测试软 件自动监测当前进程,并在当前进程完成后根据预设的程序指令触发执行下一进程,实现 对UI的自动测试。
[0024] 另外,本发明实施例可以预先将测试所需的控件(软件)的备份(镜像文件)存储 于预先构建的云数据中心的虚拟机中,测试过程中根据预先编程的测试软件发出的指令从 云数据中心的虚拟机中提取出当前近程所需的数据,且将测试结果上传至该云数据中心。
[0025] 下面结合图1所示实施例的测试方法,对本发明所提供的示例性的实施例的技术 方案进行清楚、完整地描述。如图1所示,本实施例的控件的UI测试方法包括以下:
[0026] Sll :对第一终端显示的UI进行图像截取以得到目标图片,以及对第二终端显示 的UI进行图像截取以得到源图片。
[0027] S12:计算目标图片和源图片的颜色直方图,并根据两个颜色直方图计算目标图片 和源图片的像素值的巴氏距离。
[0028] 两个颜色直方图对应表示目标图片和源图片的颜色特征,其描述不同色彩在整幅 目标图片和源图片中所占的比例,并不包含每种