用于图像自动化测试的方法及装置、设备
技术领域
本申请涉及图像自动化测试
技术领域
,例如涉及一种用于图像自动化测试的方法、装置和设备。背景技术
目前,随着软件测试技术的发展,自动化测试作为提高测试效率保证测试覆盖度的重要手段,应用越来越普遍。
目前,针对图像上传和下载等一些相对主观的功能测试,自动化比例不高,仍然采用人工进行手动测试,一些关于页面图像查看的功能需经由肉眼观察判断,测试结果受人为因素的影响较大。
在现有技术中对于图片一致性的比较,是通过获取运行测试脚本中的目标测试指令时所呈现的服务端界面的第一界面截图,以及在待测试应用的手动测试过程中接收到的针对客户端界面的截图指令生成的第二界面截图。并通过对第一与第二界面截图间的结构特征进行比对,从而确定图片的一致性。现有技术中对于图片的比较基准是通过人工截图确定,存在较高的人工依赖因素,比对方式是基于截图所显示中的图片或文字结构不匹配时,认为界面截图之间不是一张图片。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
现有关于图片一致性的比较中存在较高的人工依赖因素,且判断标准是以图片所处显示界面中的结构信息判断,而非图片本身。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于图像自动化测试的方法及装置、设备,以解决现有关于图片一致性的比较中存在较高的人工依赖因素,且判断标准是以图片所处显示界面中的结构信息判断,而非图片本身的技术问题。
在一些实施例中,所述方法包括:
获取客户端图像以及服务端图像;
对所述客户端图像和/或服务端图像进行尺寸调整,并转换图像的像素,得到目标服务端图像与目标客户端图像;
比对目标服务端图像与目标客户端图像的一致性。
可选地,所述对所述客户端图像和/或服务端图像进行尺寸调整,包括:
在服务端图像生成过程中存在预设截取范围的情况下,根据预设截取范围在客户端图像中进行图像截取。
可选地,所述对所述客户端图像和/或服务端图像进行尺寸调整,包括:
获取服务端图像与客户端图像的图片呈现方向;
在所述客户端图像的图片呈现方向与服务端图像的图片呈现方向不一致的情况下,调整客户端图像和/或服务端图像的图片呈现方向,使服务端图像与客户端图像的图片呈现方向保持一致。
可选地,在所述使服务端图像与客户端图像的图片呈现方向保持一致之后,还包括:
获取服务端图像的尺寸与客户端图像的尺寸;
在所述服务端图像的尺寸与客户端图像的尺寸不一致的情况下,调整客户端图像和/或服务端图像的尺寸,使服务端图像与客户端图像的尺寸保持一致。
可选地,在所述使服务端图像与客户端图像的图片呈现方向保持一致,还包括:
获取预设目标服务端图像的截除尺寸与预设目标客户端图像的截除尺寸;
根据所述预设目标服务端图像的截除尺寸与预设目标客户端图像的截除尺寸,截取服务端图像与客户端图像。
可选地,所述对所述客户端图像和/或服务端图像进行尺寸调整,包括:
获取客户端图像或服务端图像的坐标信息;
选取客户端图像或服务端图像中一个像素点作为第一基准点;
根据所述坐标信息,在所述第一基准点对应的横向坐标区域内,以第二固定间隔确定多个第二基准点;
根据所述坐标信息,在所述第一基准点和所述第二基准点各自对应的纵向坐标区域内,以第一固定间隔确定多个间隔位置;
根据所述间隔位置,识别客户端图像或服务端图像的黑色区域;
截除客户端图像或服务端图像的黑色区域,获得调整后的客户端图像或调整后的服务端图像。
可选地,所述根据所述间隔位置,识别客户端图像或服务端图像的黑色区域,包括:
获取所述间隔位置处的像素点的灰度值;
在所述间隔位置的灰度值小于预设灰度值的情况下,识别与所述灰度值相对应的间隔位置为黑色;
在与所述灰度值相对应的间隔位置为黑色的数量大于预设数量的情况下,识别所述间隔位置相对应的基准点对应的纵向坐标区域为黑色区域。
在一些实施例中,所述装置包括:
处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如上述用于图像自动化测试的方法。
在一些实施例中,所述设备包括:
如上述的用于图像自动化测试的装置。
本公开实施例提供的用于图像自动化测试的方法及装置、设备,可以实现以下技术效果:
本申请通过调整获取的客户端图像与服务端图像,并对调整后的图像进行像素转换,得到目标图像,进而通过比对目标图像确定客户端图像与服务端图像的一致性,达到去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,提高了图片一致性判断的准确程度。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的一个用于图像自动化测试的方法的流程示意图;
图2是本公开实施例提供的一个用于图像自动化测试的装置的结构示意图;
图3是本公开实施例提供的另一个用于图像自动化测试的装置的结构示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
结合图1所示,本公开实施例提供一种用于图像自动化测试的方法,包括:
S01,获取客户端图像以及服务端图像。
在本技术方案中,针对图片一致性的比对过程中涉及图片上传或下载,前述获取客户端图像以及服务端图像并非仅限于客户端与服务端的图像,可以是第一显示界面、第二显示界面或其他描述方式,对此本申请技术方案不做限定,只要是可以表示两张可对比图像即可。例如,针对上传的图片进行一致性比对时,可以是将客户端内的图片作为第一显示界面,可以将服务端内的图片作为第二显示界面,前述客户端/服务端内的图片可以是客户端/服务端内保存或由客户端/服务端拍摄的图片。针对下载的图片进行一致性比对时,可以是将服务端内的图片作为第一显示界面,可以是将客户端内的图片作为第二显示界面。
S02,对前述客户端图像和/或服务端图像进行尺寸调整,并转换图像的像素,得到目标服务端图像与目标客户端图像。
在本技术方案中,调整客户端图像和/或服务端图像的尺寸可以理解为将客户端图像与服务端图像的尺寸调整至一致。在前述涉及图片的上传或下载的过程中,可以是将客户端图像与服务端图像分别视为原始图像与待对比图像,客户端图像或服务端图像根据实际应用场景均可以作为原始图像或待对比图像,比如以图片的上传过程为例,客户端图像可以作为原始图像,服务端图像可以作为待对比图像;或者,可以将客户端图像作为待对比图像,服务端图像可以作为原始图像。
在本技术方案中,并转换图像的像素可以理解为将可能调整/未调整的的客户端图像与服务端图像统一进行像素转换,像素转换可以是将可能调整/未调整的客户端图像与服务端图像转换为灰度图像。
S03,比对目标服务端图像与目标客户端图像的一致性。
在本技术方案中,比对目标服务端图像与目标客户端图像的一致性的方式可以是根据目标服务端图像与目标客户端图像的像素点的灰度值进行比对。
采用本公开实施例提供的用于图像自动化测试的方法,能通过调整获取的客户端图像与服务端图像,并对调整后的图像进行像素转换,得到目标图像,进而通过比对目标图像确定客户端图像与服务端图像的一致性,达到去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,提高了图片一致性判断的准确程度。
可选地,对客户端图像和/或服务端图像进行尺寸调整,包括在服务端图像生成过程中存在预设截取范围的情况下,根据预设截取范围在客户端图像中进行图像截取。
在实际应用中,在图片上传过程中如果存在预设截取范围,根据预设截取范围在客户端图像中进行图像截取,获得调整后的客户端图像,并将根据预设截取范围截取的服务端图像视作调整后的服务端图像。前述存在预设截取范围可以理解为,例如头像上传过程中的图像截取范围、身份证件照片电子版上传过程中的截取范围等等,本申请对此不作具体限定,只要可以表示是由客户端至服务端或由服务端至客户端存在预设截取范围即可。
这样,能更好地通过调整获取的客户端图像和/或服务端图像,并通过获取预设截取范围,调整图像尺寸,从而减小了运算量,为后续操作提供基础,进而去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,达到提高了图片一致性判断的准确程度的效果。
可选地,对客户端图像和/或服务端图像进行尺寸调整,包括:
获取服务端图像与客户端图像的图片呈现方向;
在前述客户端图像的图片呈现方向与服务端图像的图片呈现方向不一致的情况下,调整客户端图像和/或服务端图像的图片呈现方向,使服务端图像与客户端图像的图片呈现方向保持一致。
在一些可选实施方式中,在获取服务端图像与客户端图像的图片呈现方向之后,包括:
根据服务端图像的图像呈现方向作为依据,在前述客户端图像的图片呈现方向与服务端图像的呈现方向不一致的情况下,旋转客户端图像使得客户端图像的图像呈现方向与服务端图像的图像呈现方向一致。
在一些可选实施方式中,在获取服务端图像与客户端图像的图片呈现方向之后,包括:
根据客户端图像的图像呈现方向作为依据,在前述服务端图像的图片呈现方向与客户端图像的呈现方向不一致的情况下,旋转服务端图像使得服务端图像的图像呈现方向与客户端图像的图像呈现方向一致。
在一些可选实施方式中,在获取服务端图像与客户端图像的图片呈现方向之后,可以包括:
获取预设图片呈现方向;
在前述服务器端图像的图片呈现方向、客户端图像的呈现方向与预设图片呈现方向不一致的情况下,旋转服务器端图像和/或客户端图像至预设图片呈现方向。
这样,能更好地通过调整客户端图像和/或服务端图像,为后续操作提供基础,进而去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,达到提高了图片一致性判断的准确程度的效果。
可选地,在前述旋使服务端图像与客户端图像的图片呈现方向保持一致之后,可以包括:
获取服务端图像的尺寸与客户端图像的尺寸;
在前述服务端图像的尺寸与客户端图像的尺寸不一致的情况下,调整客户端图像和/或服务端图像的尺寸,使服务端图像与客户端图像的尺寸保持一致。
在一些可选实施方式中,在服务端图像的尺寸与客户端图像的尺寸不一致的情况下,调整客户端图像的尺寸和/或服务端图像的尺寸,可以包括:
根据客户端图像的尺寸作为依据,在前述服务端图像的尺寸与客户端图像的尺寸不一致的情况下,调整服务端图像的尺寸至与客户端图像的尺寸一致。
在一些可选实施方式中,在服务端图像的尺寸与客户端图像的尺寸不一致的情况下,调整客户端图像的尺寸和/或服务端图像的尺寸,可以包括:
根据服务端图像的尺寸作为依据,在前述客户端图像的尺寸与服务端图像的尺寸不一致的情况下,调整客户端图像的尺寸至与服务端图像的尺寸一致。
在一些可选实施方式中,在服务端图像的尺寸与客户端图像的尺寸不一致的情况下,调整客户端图像的尺寸和/或服务端图像的尺寸,可以包括:
获取预设图像尺寸;
在前述服务端图像的尺寸与客户端图像的尺寸与预设图像尺寸不一致的情况下,根据预设图像尺寸,调整客户端图像的尺寸和服务端图像的尺寸。
在实际应用中,前述预设图像尺寸可以是根据客户端图像尺寸与服务端图像尺寸取平均获得,或根据客户端图像尺寸与服务端图像尺寸的最大公约数/最小公倍数获得,本申请技术方案对此不作具体限定,只要可以表示客户端图像尺寸与服务端图像尺寸可以调整的范围即可。
这样,能更好地通过调整客户端图像和/或服务端图像,为后续操作提供基础,进而去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,达到提高了图片一致性判断的准确程度的效果。
可选地,在前述使服务端图像与客户端图像的图片呈现方向保持一致,可以包括:
获取预设目标服务端图像的截除尺寸与预设目标客户端图像的截除尺寸;
根据前述预设目标服务端图像的截除尺寸与预设目标客户端图像的截除尺寸,截取服务端图像与客户端图像。
在一些可选实施方式中,预设目标服务端图像的截除尺寸与预设目标客户端图像的截除尺寸可以是截除目标图像的顶部和/或底部固定高度值尺寸的图像;或,截除目标图像的两侧或单侧固定宽度值尺寸的图像。
在实际应用中,以截除目标客户端图像顶部固定高度值尺寸的图像为例,前述固定高度值尺寸可以是客户端图像高度的十分之一、五分之一或其他数值,即,截除目标客户端图像顶部固定高度值尺寸为截除目标客户端图像上边沿向下客户端图像高度的十分之一、五分之一或其他数值尺寸的图像;前述固定高度值尺寸也可以是数字,比如一厘米、五毫米或其他数值,本申请技术方案对于固定高度值不作具体限定,只要可以表示截除目标图像的尺寸即可。
这样,能更好地通过调整客户端图像和/或服务端图像,并通过获取预设截取尺寸,调整图像尺寸,从而减小了运算量,为后续操作提供基础,进而去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,达到提高了图片一致性判断的准确程度的效果。
可选地,前述对客户端图像和/或服务端图像进行尺寸调整,包括:
获取客户端图像或服务端图像的坐标信息;
选取客户端图像或服务端图像中一个像素点作为第一基准点;
根据前述坐标信息,在前述第一基准点对应的横向坐标区域内,以第二固定间隔确定多个第二基准点;
根据前述坐标信息,在前述第一基准点和前述第二基准点各自对应的纵向坐标区域内,以第一固定间隔确定多个间隔位置;
根据前述间隔位置,识别客户端图像或服务端图像的黑色区域;
截除客户端图像或服务端图像的黑色区域,获得调整后的客户端图像或调整后的服务端图像。
可选地,前述根据间隔位置,识别客户端图像或服务端图像的黑色区域,包括:
获取前述间隔位置处的像素点的灰度值;
在前述间隔位置的灰度值小于预设灰度值的情况下,识别与前述灰度值相对应的间隔位置为黑色;
在与前述灰度值相对应的间隔位置为黑色的数量大于预设数量的情况下,识别前述间隔位置相对应的基准点对应的纵向坐标区域为黑色区域。
在本技术方案中,前述第一固定间隔可以是坐标间隔50、30、80或其他数值,通常选取坐标间隔50作为第一固定间隔数值。
在本技术方案中,前述第二固定间隔可以是坐标间隔1、2、5或其他数值,通常选取坐标间隔2作为第二固定间隔数值。
在本技术方案中,间隔位置的灰度值小于预设灰度值的情况下,识别与前述灰度值相对应的间隔位置为黑色可以是在间隔位置的灰度值小于20、25、30或其他数值的情况下,识别与前述灰度值相对应的间隔位置为黑色。通常选取预设灰度值为25。
在本技术方案中,在与前述灰度值相对应的间隔位置为黑色的数量大于预设数量的情况下,识别前述间隔位置相对应的基准点对应的纵向坐标区域为黑色区域,前述预设数量以对应的纵向坐标区域为图像高度对应的区域可以表示为,图像高度/50/1.4;或,前述预设数量以对应的纵向坐标区域为图像宽度对应的区域可以表示为,图像宽度/50/2。
在一些可选实施方式中,截除客户端图像或服务端图像的黑色区域,获得调整后的客户端图像或调整后的服务端图像包括:截除客户端图像或服务端图像的黑色区域,将截除后的客户端图像或服务端图像相邻的图像整合形成调整后的客户端图像或调整后的服务端图像。
在实际应用中,应该理解的是上述横向坐标与纵向坐标是可以变化的,以选取第一基准点为图像左上角顶点为例,与图像左上角顶点相对应的横向坐标区域可以是图像左上角顶点至图像左下角顶点方向,同样的,与图像左上角顶点相对应的纵向坐标区域可以是图像左上角顶点至图像右上角顶点方向;或,以选取第一基准点为图像左下角顶点为例,与图像左下角顶点相对应的横向坐标区域可以是图像左下角顶点至图像右下角顶点方向,同样的,与图像左下角顶点相对应的纵向坐标区域可以是图像左下角顶点至图像左上角顶点方向。
在实际应用中,在前述截除客户端图像或服务端图像的黑色区域之后,客户端图像或服务端图像因为截除黑色区域,原客户端图像或原服务端图像被分割为大小可能不同的多个图像。前述将相邻的图像整合形成调整后的客户端图像或调整后的服务端图像可以理解为将相邻的图像拼接形成调整后的客户端图像或调整后的服务端图像。以截除客户端图像为例,前述识别的黑色区域为:其中一个识别为黑色区域的基准点对应的坐标为(1,7),且前述基准点识别为黑色的纵向区域为X轴坐标1所对应的区域,另一个识别为黑色区域的基准点对应的坐标为(2,3),且前述基准点识别为黑色的纵向区域为Y轴坐标3所对应的区域,截除客户端图像黑色区域后,原客户端图像被分割为四个大小不一的图像,将前述被分割后的四个图像根据相邻关系,拼接获得调整后的客户端图像。应该理解的,被分割的图像的大小可以是相同的,也可以是不同的,根据识别为黑色区域的间隔位置所对应的基准点的纵向坐标区域决定。
在一些可选实施方式中,对客户端图像和/或服务端图像进行尺寸调整可以包括:
确定客户端图像或服务端图像的黑色区域边界;
截除客户端图像或服务端图像黑色区域边界外的黑色区域,获得调整后的客户端图像或调整后的服务端图像。
在一些可选实施方式中,确定客户端图像或服务端图像的黑色区域边界可以是确定与第一基准点X轴坐标相对应的X轴正方向上的客户端图像或服务端图像的右侧黑色区域边界;确定与第一基准点X轴坐标相对应的X轴负方向上的客户端图像或服务端图像的左侧黑色区域边界;确定与第一基准点Y轴坐标相对应的Y轴正方向上的客户端图像或服务端图像的上侧黑色区域边界;确定与第一基准点Y轴坐标相对应的Y轴负方向上的客户端图像或服务端图像的下侧黑色区域边界;
在实际应用中,确定客户端图像或服务端图像的第一基准点对应的某一黑色区域边界可以是在与前述所要确定的黑色区域边界相对应的方向上,第一次出现识别为黑色区域的纵向坐标区域,且在该方向上与前述纵向坐标区域相邻的一个或多个纵向坐标被识别为黑色坐标区域。以服务端第一基准点所对应的坐标为(20,50)为例,在要确定的黑色区域边界为右侧边界的情况下,根据前述选取方式,以所确定选取的点为点一、点二、点三、点四、点五为例。如果确定黑色边界的判断条件为相邻的一个纵向坐标识别为黑色区域,在点一、点二均被识别为黑色区域的情况下,确定点一所对应的纵向坐标为服务端图像的黑色区域右边界;或,如果确定黑色边界的判断条件为相邻的一个纵向坐标识别为黑色区域,在点一、点二、点四、点五均被识别为黑色区域的情况下,确定点一所对应的纵向坐标为服务端图像的黑色区域右边界;如果确定黑色边界的判断条件为相邻的两个纵向坐标识别为黑色区域,在点一、点三、点四、点五均被识别为黑色区域的情况下,确定点三所对应的纵向坐标为服务端图像的黑色区域右边界;
在实际应用中,确定客户端图像或服务端图像的第一基准点对应的某一黑色区域边界可以是相邻的上一个纵向坐标识别为黑色区域,且下一个纵向坐标区域识别为非黑色区域。可以将客户端图像或服务端图像的四个顶点对应的像素点作为分别作为第一基准点,每个第一基准点分别用于确认一条与其相对应的黑色区域边界。或者,选取客户端图像或服务端图像两个相对的顶点对应的像素点作为第一基准点,每个第一基准点分别用于确认两条与其相对应的黑色区域边界。这里以客户端图像左下角顶点对应的像素点坐标位置为(0,0),第一固定间隔取值50,第二固定间隔取值1为例,计算第一基准点(0,0)所对应的纵坐标区域是否识别为黑色区域,以第二固定间隔选取第二基准点(0,1)、(0,2)等等,或者是(1,0)、(2,0)等等。在(0,0)所对应的纵坐标区域识别为黑色区域的情况下,计算第二基准点(0,1)与(0,2)所对应的纵坐标区域是否识别为黑色区域。如果(0,1)所对应的纵坐标区域识别为黑色,且(0,2)所对应的纵坐标区域识别为非黑色,则确定第二基准点(0,1)所对应的Y轴纵向坐标1所表示的区域为黑色区域边界。应该理解的是,(0,1)、(0,2)确定黑色区域边界的方法与(1,0)、(2,0)所确定的方式是相同的。
这样,能更好地通过调整的客户端图像和/或服务端图像,并通过获取预设截取范围,调整图像尺寸,从而减小了运算量,为后续操作提供基础,进而去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,达到提高了图片一致性判断的准确程度的效果。
可选地,转换图像的像素,得到目标服务端图像与目标客户端图像可以是将可能调整/未调整的客户端图像与服务端图像转换为灰度图像。
在一些可选实施方式中,将可能调整/未调整的客户端图像与服务端图像转换为灰度图像可以是通过定义服务端图像与客户端图像为灰度图像。
在实际应用中,可以通过将服务端图像与客户端图像的颜色定义为灰色获得灰色图像,所通过如下代码表达:COLOR_BGR2GRAY。
在一些可选实施方式中,将可能调整/未调整的客户端图像与服务端图像转换为灰度图像可以是通过获取服务端图像与客户端图像的RGB值,进行灰色图像转换。(RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色)。
在一些可选实施方式中,通过服务端图像与客户端图像的RGB值,进行灰色图像转换,可以是采用平均法,将一个像素位置3个通道RGB的值进行平均。可通过如下公式表达:
I(x,y)=1/3*I_R(x,y)+1/3*I_G(x,y)+1/3*I_B(x,y);
其中,I_R(x,y)、I_G(x,y)、I_B(x,y)分别代表一个像素位置的三个通道的值。
在一些可选实施方式中,通过服务端图像与客户端图像的RGB值,进行灰色图像转换,可以是采用加权平均法,可通过如下公式表达:
I(x,y)=0.3*I_R(x,y)+0.59*I_G(x,y)+0.11*I_B(x,y);
其中,0.3,0.59,0.11是根据人的亮度感知系统调节出来的参数,是个广泛使用的标准化参数。
可选地,比对目标服务端图像与目标客户端图像的一致性,包括:
计算目标服务端图像与目标客户端图像对应位置的像素点的灰度值;
在前述对应位置的像素点的灰度值的差值大于第一预设数值的情况下,认定前述对应位置的像素点不是同一图像的像素点;
在前述对应位置的像素点不是同一图像的像素点的个数占比小于或等于第二预设数值的情况下,识别客户端图像与服务端图像为同一图像。
在实际应用中,第一预设数值可以是10、15、20或其他数值,通常选取10作为第一预设数值。第二预设数值可以是20%、25%、30%或其他数值,通常选取20%作为第二预设数值。
这样,通过调整客户端图像和/或服务端图像,并对调整后的图像进行像素转换,得到目标图像,进而通过比对目标图像确定客户端图像与服务端图像的一致性,达到去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,提高了图片一致性判断的准确程度。
结合图2所示,本公开实施例提供一种用于图像自动化测试的装置,包括图像获取模块21、图像调整、转换模块22和图像对比模块23。图像获取模块21被配置为获取客户端图像以及服务端图像;图像调整、转换模块22被配置为对所述客户端图像和/或服务端图像进行尺寸调整,并转换图像的像素,得到目标服务端图像与目标客户端图像;图像对比模块23被配置为比对目标服务端图像与目标客户端图像的一致性。
采用本公开实施例提供的用于图像自动化测试的装置,有利于通过调整获取的客户端图像与服务端图像,并对调整后的图像进行像素转换,得到目标图像,进而通过比对目标图像确定客户端图像与服务端图像的一致性,达到去除自动化测试图片中手动截取图像的人工依赖因素,并通过图片本身作为一致性判断的依据,提高了图片一致性判断的准确程度。
可选地,图像调整、转换模块22被配置为在服务端图像生成过程中存在预设截取范围的情况下,根据预设截取范围在客户端图像中进行图像截取。
可选地,图像调整、转换模块22包括图片呈现方向获取子模块和图像旋转子模块;
图片呈现方向获取子模块被配置为获取服务端图像与客户端图像的图片呈现方向;
图像旋转子模块被配置为在前述客户端图像的图片呈现方向与服务端图像的图片呈现方向不一致的情况下,调整客户端图像和/或服务端图像的图片呈现方向,使服务端图像与客户端图像的图片呈现方向保持一致。
可选地,图像调整、转换模块22还包括图像尺寸获取子模块与尺寸调整子模块;
图像尺寸获取子模块被配置为获取服务端图像的尺寸与客户端图像的尺寸;
尺寸调整子模块被配置为在前述服务端图像的尺寸与客户端图像的尺寸不一致的情况下,调整客户端图像和/或服务端图像的尺寸,使服务端图像与客户端图像的尺寸保持一致。
可选地,图像调整、转换模块22还包括图像预设截取尺寸获取子模块与图像截取子模块;
图像预设截取尺寸获取子模块被配置为获取预设目标服务端图像的截除尺寸与预设目标客户端图像的截除尺寸;
图像截取子模块被配置为根据前述预设目标服务端图像的截除尺寸与预设目标客户端图像的截除尺寸,截取服务端图像与客户端图像。
可选的,图像调整、转换模块22包括坐标信息获取子模块、第一基准点选取子模块、第二基准点选取子模块、间隔位置选取子模块、图像黑色区域识别子模块与黑色区域截除子模块;
坐标信息获取子模块被配置为获取客户端图像或服务端图像的坐标信息;
第一基准点选取子模块被配置为选取客户端图像或服务端图像中一个像素点作为第一基准点;
第二基准点选取子模块被配置为根据前述坐标信息,在前述第一基准点对应的横向坐标区域内,以第二固定间隔确定多个第二基准点;
间隔位置选取子模块被配置为根据前述坐标信息,在前述第一基准点和前述第二基准点各自对应的纵向坐标区域内,以第一固定间隔确定多个间隔位置;
图像黑色区域识别子模块被配置为根据前述间隔位置,识别客户端图像或服务端图像的黑色区域;
黑色区域截除子模块被配置为截除客户端图像或服务端图像的黑色区域,获得调整后的客户端图像或调整后的服务端图像。
可选地,图像黑色区域识别子模块还被配置为获取前述间隔位置处的像素点的灰度值;在前述间隔位置的灰度值小于预设灰度值的情况下,识别与前述灰度值相对应的间隔位置为黑色;在与前述灰度值相对应的间隔位置为黑色的数量大于预设数量的情况下,识别前述间隔位置相对应的基准点对应的纵向坐标区域为黑色区域。
可选地,图像比对模块23灰度值计算子模块、像素点认定子模块和同一图像识别子模块;
灰度值计算子模块被配置为计算目标服务端图像与目标客户端图像对应位置的像素点的灰度值;
像素点认定子模块被配置为在所述对应位置的像素点的灰度值的差值大于第一预设数值的情况下,认定所述对应位置的像素点不是同一图像的像素点;
同一图像识别子模块被配置为在所述对应位置的像素点不是同一图像的像素点的个数占比小于或等于第二预设数值的情况下,识别客户端图像与服务端图像为同一图像。
结合图3所示,本公开实施例提供一种用于图像自动化测试的装置,包括处理器(processor)100和存储器(memory)101。可选地,该装置还可以包括通信接口(Communication Interface)102和总线103。其中,处理器100、通信接口102、存储器101可以通过总线103完成相互间的通信。通信接口102可以用于信息传输。处理器100可以调用存储器101中的逻辑指令,以执行上述实施例的用于图像自动化测试的方法。
此外,上述的存储器101中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器100通过运行存储在存储器101中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于图像自动化测试的方法。
存储器101可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器101可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种设备(例如:计算机、手机等),包含上述的用于图像自动化测试的装置。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于图像自动化测试的方法。
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于图像自动化测试的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。