分辨率纠偏方法及装置、多终端协同测试方法及装置与流程
1.本发明涉及应用的移动终端测试技术领域,尤其是一种分辨率纠偏方法及装置、多终端协同测试方法及装置与计算设备。
背景技术:
2.应用开发完成后,需要在各种不同品牌、型号的移动终端上运行,以便对不同终端的运行情况进行测试。测试过程可以通过测试平台来完成,例如openstf(一种云真机方案)和tidevice(一种跨平台多机连接方案)相结合的移动端多机协同测试平台,上述测试平台基于云真机使所有的移动终端设备按照相同的自动化指令运行,达到一次测试多台设备的目的。
3.测试过程中对终端屏幕做上下滑动操作时,如果设备存在不同的分辨率比例,即使采用相对比例操作,也会出现页面懒加载差异,导致下一个操作不到元素,需要人工查原因,影响测试效率。
4.综上,上述现有的移动端多机协同测试技术易出现页面懒加载差异,导致下一个操作无法完成的问题。
技术实现要素:
5.为此,本发明提供了一种分辨率纠偏方法及装置、多终端协同测试方法及装置与计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
6.根据本发明的一个方面,提供了一种分辨率纠偏方法,包括:响应于对主控终端屏幕的滑动操作之后的查或操作某个元素,并提示异常,所述滑动操作为向上滑动的操作或向下滑动的操作,对所述主控终端进行截屏操作,得到主控终端截屏图像矩阵和各被测终端原始截屏图像矩阵;对所述各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到所述各被测终端的被测终端截屏图像矩阵;分别判断所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵;以及若存在交集矩阵,根据所述交集矩阵分别在所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵中的位置和滑动操作的距离,计算各被测终端的分辨率偏移量,以完成被测终端的分辨率纠偏。
7.可选地,在根据本发明的分辨率纠偏方法中,所述判断所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵的步骤包括:将所述主控终端截屏图像矩阵与所述各被测终端截屏图像矩阵进行二值化处理;以及判断二值化处理后的主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵。
8.可选地,在根据本发明的分辨率纠偏方法中,所述判断所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵的步骤还包括:截取所述主控终端截屏图像矩阵的边缘作为所述交集矩阵,所述边缘为与所述滑动操作相反方向的边缘。
9.可选地,在根据本发明的分辨率纠偏方法中,当所述滑动操作为向上滑动的操作时,将所述交集矩阵的底部与所述被测终端截屏图像矩阵底部的距离作为所述交集矩阵在
所述被测终端截屏图像矩阵中的位置;当所述滑动操作为向下滑动的操作时,将所述交集矩阵的顶部与所述被测终端截屏图像矩阵顶部的距离作为所述交集矩阵在所述被测终端截屏图像矩阵中的位置。
10.可选地,在根据本发明的分辨率纠偏方法中,所述方法还包括:若不存在交集矩阵,对主控终端屏幕沿原滑动方向继续滑动,对所述主控终端进行截屏操作,将上一次截屏操作获得的主控终端截屏图像矩阵作为新的主控终端截屏图像矩阵,将本次截屏操作获得的被测终端截原始屏图像矩阵作为新的被测终端原始截屏图像矩阵;然后返回至所述对所述各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到所述各被测终端的被测终端截屏图像矩阵的步骤。
11.可选地,在根据本发明的分辨率纠偏方法中,所述方法还包括:控制所述主控终端屏幕和所述被测终端屏幕所显示的内容回到初始位置;响应于对主控终端屏幕的滑动操作,控制所述各被测终端屏幕所显示的内容按照所述滑动操作的方向移动,移动距离为所述滑动操作的距离与对应的被测终端的分辨率偏移量之和;以及在所述主控终端屏幕上查或操作某个元素,并查看是否存在提示异常。
12.根据本发明的另一方面,还提供了一种基于上述分辨率纠偏方法的多终端协同测试方法,包括:响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照所述滑动操作的方向移动,移动距离为所述滑动操作的距离与对应的被测终端的分辨率偏移量之和;以及在所述主控终端屏幕上查/操作某个元素,将各被测终端的查/操作结果作为对应的被测终端的测试结果。
13.根据本发明的另一方面,还提供了一种分辨率纠偏装置,包括:截屏单元,适用于响应于对主控终端屏幕的滑动操作之后的查或操作某个元素,并提示异常,所述滑动操作为向上滑动的操作或向下滑动的操作,对所述主控终端进行截屏操作,得到主控终端截屏图像矩阵和各被测终端原始截屏图像矩阵;预处理单元,适于对所述各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到所述各被测终端的被测终端截屏图像矩阵;判断单元,适于分别判断所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵;以及纠偏单元,适于若存在交集矩阵,根据所述交集矩阵分别在所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵中的位置和滑动操作的距离,计算各被测终端的分辨率偏移量,以完成被测终端的分辨率纠偏。
14.根据本发明的另一方面,还提供了一种多终端协同测试装置,包括:控制单元,适于响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照所述滑动操作的方向移动,移动距离为所述滑动操作的距离与对应的被测终端的分辨率偏移量之和;以及测试单元,适于在所述主控终端屏幕上查/操作某个元素,将各被测终端的查/操作结果作为对应的被测终端的测试结果。
15.根据本发明的另一方面,还提供了一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当程序指令被处理器读取并执行时,使得计算设备执行如上的分辨率纠偏方法方法或多终端协同测试方法。
16.根据本发明的分辨率纠偏方法及装置、多终端协同测试方法及装置与计算设备,能够实现以下有益效果中的至少一种:通过图像处理,自动获取被测终端相对于主控终端的分辨率偏移量并且对分辨率偏移量进行校准,够根据分辨率偏移量调整被测终端屏幕的
上下滑动,能够有效避免因手机像素比例不同的问题导致多机协同测试出错,整个过程自动化完成,无需人工干预。
附图说明
17.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
18.图1示出了根据本发明一个实施例的多终端协同测试系统100的示意图;
19.图2示出了根据本发明一个实施例的计算设备200的结构示意图;
20.图3示出了根据本发明一个实施例的一种分辨率纠偏方法300的流程图;
21.图4示出了根据本发明一个实施例的另一种分辨率纠偏方法的流程图;
22.图5示出了根据本发明一个实施例的多终端协同测试方法500的流程图;
23.图6示出了根据本发明一个实施例的分辨率纠偏装置600的结构示意图;
24.图7示出了根据本发明一个实施例的多终端协同测试装置700的结构示意图。
具体实施方式
25.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
26.针对现有移动端多机协同测试技术易出现页面懒加载差异,导致下一个操作无法完成的问题,本发明提供了一种用于光盘刻录前的自动校验方法,能够对用户插入的光盘进行自动刻录校验,使得后续刻录不易发生乱码、损坏等问题。
27.图1示出了根据本发明一个实施例的多终端协同测试系统100的示意图。
28.如图1所示,多终端协同测试系统100包括数据处理设备110和接口设备120,数据处理设备110与接口设备120通信连接。接口设备120提供了若干个接口,主控终端和被测终端可通过数据线连接至接口。主控终端和被测终端通常指代具有触摸屏的移动终端设备,例如手机或平板电脑等。
29.对终端进行测试的过程中,如果涉及对终端屏幕的上下滑操作,用户可以手动在主控终端屏幕上滑动,也可以在数据处理设备110上进行滑动控制。用户手动在主控终端屏幕上滑动时,例如向上滑动,滑动距离为1080像素,数据处理设备110会向各个被测终端发出控制信号,使得各个被测终端的屏幕也产生相当于上向滑动1080像素的效果。如果是在数据处理设备110上进行滑动控制,那么用户可以在数据处理设备110上设置滑动方向为向上、滑动距离为1080像素,数据处理设备110将会控制主控终端屏幕各个被测终端屏幕均产生相当于上向滑动1080像素的效果。
30.应当指出,本发明对数据处理设备110的具体种类不作限制。例如,数据处理设备110可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等计算设备,但不限于
此,也可以是驻留在计算设备上的应用程序。
31.在本发明的实施例中,数据处理设备110适于执行多终端协同测试方法。本发明的多终端协同测试方法500将在下文中详述。
32.在一个实施例中,本发明的数据处理设备110可以实现为一种计算设备,使得本发明的多终端协同测试方法可以在计算设备中执行。计算设备可以是任意具有存储和计算能力的设备,其例如可以实现为服务器、工作站等,也可以实现为桌面计算机、笔记本计算机等个人配置的计算机,或者实现为手机、平板电脑、智能可穿戴设备、物联网设备等终端设备,但不限于此。
33.图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
34.取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(up)、微控制器(uc)、数字信息处理器(dsp)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
35.取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
36.计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置202的通信。操作系统220、应用222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行应用222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。
37.计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个a/v端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个i/o端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
38.网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多
个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
39.在根据本发明的计算设备200中,应用222包括执行分辨率纠偏方法300或多终端协同测试方法500的多条程序指令,这些程序指令可以指示处理器204执行本发明的分辨率纠偏方法300或多终端协同测试方法500,以便计算设备200执行本发明的分辨率纠偏方法300或多终端协同测试方法500。
40.根据本发明实施例的一种分辨率纠偏方法300包括:响应于对主控终端屏幕的滑动操作之后的查或操作某个元素,并提示异常,滑动操作为向上滑动的操作或向下滑动的操作,对主控终端进行截屏操作,得到主控终端截屏图像矩阵和各被测终端原始截屏图像矩阵;对各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到各被测终端的被测终端截屏图像矩阵;分别判断主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵;以及若存在交集矩阵,根据交集矩阵分别在主控终端截屏图像矩阵与各被测终端截屏图像矩阵中的位置和滑动操作的距离,计算各被测终端的分辨率偏移量,以完成被测终端的分辨率纠偏。
41.图3示出了根据本发明一个实施例的分辨率纠偏方法300的流程图。方法300可以在系统100的数据处理设备110(例如前述计算设备200)中执行,用于在通过主控终端对若干个被测终端进行控制时纠正每个被测终端相对于主控终端的分辨率偏移量,使得在主控终端上进行上下滑操作时,各个被测终端屏幕所显示的内容与主控终端屏幕所显示的内容相同。
42.如图3所示,方法300始于步骤s310。
43.在步骤s310中,响应于对主控终端屏幕的滑动操作之后的查或操作某个元素,并提示异常,滑动操作为向上滑动的操作或向下滑动的操作,对主控终端进行截屏操作,得到主控终端截屏图像矩阵和各被测终端原始截屏图像矩阵。
44.在对被测终端进行测试时,对主控终端屏幕沿某一方向滑动一定距离后,页面上出现某一元素,接下来要操作这个元素,各被测终端屏幕也按同一方向滑动相同距离后,如果在某个被测终端的屏幕上到不这个元素,测试平台将会提示这一被测终端出现异常。例如,用户在主控终端屏幕上向上滑动1080像素,这个操作相当于在各被测终端屏幕上也向上滑动了1080像素;滑动操作完成后,主控终端屏幕的底部出现一个调查问卷的图片,点击这一图片可进入调查问卷界面;接下来,用户在主控终端屏幕上点击一图片,这一操作相当于在各被测终端屏幕的底部也点击调查问卷图片,但是,由于各个被测终端屏幕的分辨率不同,导致个别终端的屏幕底部位置没有出现这一调查问卷图片,在终端自身软硬件均能够正常工作的前提下,出现这一问题的原因有两个:一是调查问卷图片已经出现在被测终端屏幕上,但位置不是在屏幕底部;二是调查问卷图片未出现在被测终端屏幕上,如果继续向上滑动屏幕,调查问卷图片将出现在屏幕上。无论是哪个原因引起的调查问卷图片未出现在被测终端屏幕底部,都无法完成在该测终端屏幕底部点击调查问卷图片的操作,此时,测试平台将发出异常提示,提示该被测终端出现异常。
45.测试平台发出异常提示后,对主控终端和提示异常的被测终端进行截屏操作。在
测试平台中,对主控终端的任何操作都会使得测试平台对各个被测终端进行同样的操作。因此,对于截屏操作,也可通过对主控终端进行截屏操作来实现,后续对图片进行处理时,选择主控终端的截屏图像和提示异常的被测终端的截屏图像即可。截屏得到的图像为rgb图像,图像矩阵反映了图像中各个像素的灰度值。在本实施方式中,被测终端截屏操作产生的图像称为被测终端原始截屏图像,被测终端原始截屏图像的灰度值矩阵称为被测终端原始截屏图像矩阵。
46.可以设置一个重试次数,测试平台发出“notfind异常”提示后会重新进行滑动操作,相当于重试一次,如果再次发出“notfind异常”提示,则再重试一次,如果重试次数达到上限时被测终端屏幕上仍然没有出现要操作的元素,则触发截屏操作。
47.接下来,在步骤s320中,对提示异常的各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到各被测终端的被测终端截屏图像矩阵。这一步骤通过现有的矩阵处理矢量缩放处理技术对被测终端原始截屏图像矩阵在长和宽两个方向进行等比例缩放,使得缩放后的被测终端原始截屏图像矩阵与主控终端截屏图像矩阵具有相同的宽度。
48.接下来,在步骤s330中,分别判断主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵。
49.需要说明的是,步骤s330需要将主控终端截屏图像矩阵逐一与每个被测终端截屏图像矩阵进行比对,判断是否存在交集矩阵。
50.这一步骤实际上是在主控终端截屏图像与被测终端截屏图像中寻相同的图形元素。为了降低图像处理难度,可以先对主控终端截屏图像矩阵与各被测终端截屏图像矩阵进行二值化处理,然后将二值化处理后的主控终端截屏图像矩阵与各被测终端截屏图像矩阵进行比对,判断二者是否存在交集矩阵,如果主控终端截屏图像矩阵与某一被测终端截屏图像矩阵存在交集矩阵,说明主控终端截屏图像与这一被测终端截屏图像存在相同的图像元素(例如步骤s310中的调查问卷图片)。
51.被测终端与主控终端为同一类型的移动终端,例如被测终端与主控终端均为手机,而测试过程中每次滑动的距离也不会过大,以屏幕像素为2880
×
1440的手机为例,测试过程中每次上滑或下滑的距离通常不会超过2880像素。以向上滑动为例,假设对某一款app在不同手机上的运行情况进行测试,各个手机屏幕的长宽比不同,那么在各个手机上打开该app后,各个手机屏幕顶部位置所显示的内容是相同的、但底部位置可能不同,在主控手机屏幕上向上滑动一次,各个被测手机屏幕上各个位置显示的内容可能会存在差异,这一差异在手机屏幕底部或者靠近底部的位置会明显一些;如果反方向滑动,那么各个手机屏幕所显示的内容差异则在屏幕顶部或靠近顶部的位置明显一些。
52.只要被测终端屏幕的长宽比与主控终端屏幕的长宽比相差不是特别悬殊,主控终端截屏图像与被测终端截屏图像就会存在相同的元素,二值化处理后的主控终端截屏图像矩阵与被测终端截屏图像矩阵就会存在交集矩阵。
53.需要说明的是,这里的“相同的元素”必须是某个特定的图形,而非背景。例如,主控终端截屏图像的背景是蓝,图像的中间位置是一个调查问卷的图形,那么二值化后的主控终端截屏图像矩阵中背景部分的元素为1,调查问卷图片部分由1和0组成;被测终端截屏图像的背景同样是蓝,图像的中间偏下的位置是一个调查问卷的图形,二值化后的被测终端截屏图像矩阵中背景部分的元素为1,调查问卷图片部分由1和0组成。在判断主控终
端截屏图像与被测终端截屏图像是否存在相同的图形时,背景部分虽然都包括由若干个1构成的矩阵,但不能作为交集矩阵。
54.对于与主控终端截屏图像矩阵存在交集矩阵的被测终端截屏图像矩阵,进入步骤s340。
55.在步骤s340中,根据交集矩阵分别在主控终端截屏图像矩阵与各被测终端截屏图像矩阵中的位置和滑动操作的距离,计算各被测终端的分辨率偏移量,以完成被测终端的分辨率纠偏。
56.需要说明的是,这里的被测终端的分辨率偏移量指代被测终端相对于主控终端的分辨率偏移量。
57.在主控终端屏幕上滑动若干次后,某个图形元素在主控终端屏幕上的位置与在被测终端屏幕上的位置出现差异,这个差异可以根据交集矩阵分别在主控终端截屏图像矩阵与被测终端截屏图像矩阵中的位置计算出来。结合总的滑动距离,计算得到每滑动一次(或者每滑动一定距离)被测终端屏幕所产生的相对于主控终端屏幕的分辨率偏移量。
58.下面仍以调查问卷图形为例,在主控终端屏幕上向上滑动一次,滑动距离为2400像素,调查问卷图形出现在主控终端屏幕上靠近顶部的位置和某个被测终端屏幕的顶部,这种情况可以理解为被测终端比主控终端显示的内容超前。接下来需要选取两个基准,第一基准为调查问卷图形上的某个点,第一基准可以选择为例如调查问卷图形的中心点、调查问卷图形的上边缘、或者调查问卷图形的下边缘。第二基准为截屏图像矩阵上的某个点,第二基准可以选择为例如截屏图像矩阵的中心行、截屏图像矩阵的第一行、或者截屏图像矩阵的最后一行。计算主控终端截屏图像矩阵中第一基准到第二基准的距离,以及被测终端截屏图像矩阵中第一基准到第二基准的距离。例如将调查问卷图形的中心点作为第一基准,将截屏图像矩阵的中心行作为第二基准,假设计算得到主控终端截屏图像矩阵中第一基准到第二基准的距离为1000像素,被测终端截屏图像矩阵中第一基准到第二基准的距离为1300像素,即,滑动2400像素后,被测终端总的分辨率偏移量为300像素。在后续测试过程中,主控终端每向上滑动2400像素,则测试平台应当控制该被测终端向上移动(2400-300)像素。
59.第一基准与第二基准选取的位置不同,会使得最终计算得到的被测终端的分辨率偏移量不同,但都在可接受范围内,不会对测试过程造成干扰。
60.根据本发明的一个实现方式,判断主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵时,截取主控终端截屏图像矩阵的边缘作为所述交集矩阵,所述边缘为与所述滑动操作相反方向的边缘。
61.需要说明的是,上述实现方式中,“边缘”是一个矩阵,作为“边缘”的矩阵位于截屏图像矩阵的顶部或底部。截取主控终端截屏图像矩阵的边缘作为交集矩阵,查看被测终端截屏图像矩阵中是否存在这一交集矩阵。这里的交集矩阵优选为下一步将要操作的对象,例如步骤s310中的调查问卷图片,向上滑动主控终端屏幕,当主控终端屏幕底部出现调查问卷图片时,开始截屏操作,然后在主控终端截屏图像矩阵中截取调查问卷图片所对应的矩阵作为交集矩阵,在被测终端截屏图像矩阵中寻是否存在这一交集矩阵。对于向上滑动的操作,分辨率纠偏的目的是为了平被测终端屏幕的底部,即,使被测终端屏幕底部所显示的内容与主控终端屏幕底部所显示的内容相同。因此,上述实现方式能够更精确地获
取分辨率偏移量。
62.进一步地,在上述实现方式的基础上,为了获得更加精确的分辨率偏移量,当滑动操作为向上滑动的操作时,将交集矩阵的底部与被测终端截屏图像矩阵底部的距离作为交集矩阵在被测终端截屏图像矩阵中的位置;相反地,当滑动操作为向下滑动的操作时,将交集矩阵的顶部与被测终端截屏图像矩阵顶部的距离作为交集矩阵在被测终端截屏图像矩阵中的位置。如图4所示,以向上滑动为例,测试过程中,对主控终端屏幕进行向上滑动的操作,然后查或操作某一元素;如果在某个被测终端的屏幕上没有到该元素则重试一次(即屏幕返回初始位置后重新滑动),如果重试次数达到上限后仍然没有到该元素,那么开始截屏操作;然后开始图像识别过程:截取主控终端截屏图像的下边缘,在被测终端截屏图像上查是否存在该主控终端截屏图像的下边缘图像,如果不存在,是引发异常,此时可以继续上滑操作,然后继续重复前述过程;如果存在,则计算分辨率偏移量,并进一步计算上滑操作应上滑的距离,然后重新进行上滑操作,并再次查看是否能在被测终端截屏图像上查到主控终端截屏图像的下边缘图像。
63.上述实现方式中,由于只截取了主控终端截屏图像矩阵的一部分来与被测终端截屏图像矩阵进行比对,那么比对结果可能是存在交集矩阵,也可能是不存在交集矩阵。以手机为例,目前市场上流行的各种品牌型号的手机,屏幕的长宽比基本上都在1.5至2之间,如果被测终端屏幕的长宽比小于主控终端屏幕的长宽比,向上滑动时,位于主控终端截屏图像矩阵底部的图像会出现在被测终端屏幕上,如果被测终端屏幕的长宽比大于主控终端屏幕的长宽比,向上滑动时,位于主控终端截屏图像矩阵底部的图像则有可能还未出现在被测终端屏幕上,这种情况需要继续向上滑动主控终端的屏幕,然后重新截图,重新查交集矩阵。
64.对于与主控终端截屏图像矩阵不存在交集矩阵的被测终端截屏图像矩阵,需要对主控终端屏幕沿原滑动方向继续滑动,对主控终端进行截屏操作,将上一次截屏操作获得的主控终端截屏图像矩阵作为新的主控终端截屏图像矩阵,将本次截屏操作获得的被测终端截原始屏图像矩阵作为新的被测终端原始截屏图像矩阵;然后返回至步骤s320。
65.重新发起截图操作的结果是重新获得了一个主控终端截屏图像矩阵和若干个被测终端原始截屏图像矩阵,需要注意的是,后续步骤中,需采用上一次截屏操作所获得的主控终端截屏图像矩阵作为主控终端截屏图像矩阵、采用本次截屏操作获得的被测终端截原始屏图像矩阵作为被测终端截原始屏图像矩阵进行处理并查看是否存在交集矩阵。在计算分辨率偏移量时,滑动操作的距离应当为两次滑动操作的距离之和。
66.经过以上各步骤,能够获取各个被测终端相对于主控终端的分辨率偏移量。接下来,可以对所获取的各个被测终端相对于主控终端的分辨率偏移量进行验证。验证方法为:控制主控终端屏幕和被测终端屏幕所显示的内容回到初始位置,屏幕所显示的内容的初始位置指代步骤s310中滑动操作之前这些内容在主控终端屏幕上的位置,例如,步骤s310中滑动操作之前,主控终端屏幕顶部显示“汽车之家”,那么验证时,也需要将“汽车之家”回到主控终端屏幕顶部。接下来需要对主控终端屏幕的滑动操作,响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照滑动操作的方向移动,移动距离为滑动操作的距离与对应的被测终端的分辨率偏移量之和;以及在主控终端屏幕上查或操作某个元素,并查看是否存在提示异常。若未提示存在异常,则说明分辨率纠偏效果能够满足需
求。
67.方法300可以应用在多终端协同测试平台中,也可以应用在其他多终端协同控制系统中。
68.本发明的实施例还提供了一种基于上述分辨率纠偏方法的多终端协同测试方法500。
69.根据本发明实施例的多终端协同测试方法500包括:响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照滑动操作的方向移动,移动距离为滑动操作的距离与对应的被测终端的分辨率偏移量之和;以及在主控终端屏幕上查/操作某个元素,将各被测终端的查/操作结果作为对应的被测终端的测试结果。
70.方法500依托于测试平台实现。用户可以在测试平台的交互界面上设置对终端的操作,也可以手动对主控终端进行操作。在测试平台的交互界面上设置对终端的操作后,测试平台将对主控终端和全部被测终端进行同样的操作。
71.图5示出了根据本发明一个实施例的终端协同测试方法500的流程图。如图5所示,方法500始于步骤s510。
72.在步骤s510中,响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照所述滑动操作的方向移动,移动距离为所述滑动操作的距离与对应的被测终端的分辨率偏移量之和。
73.测试过程中,主控终端屏幕上发生滑动操作后,需要在屏幕上查某个元素并对这个元素进行下一步的操作。如果某个被测终端屏幕上没有出现这个元素(或者测试平台发出“notfind异常”),则开始执行方法300。方法300结束后,得到每个被测终端的分辨率偏移量,下一次进行滑动操作时,测试平台会将分辨率偏移量考虑到对被测终端屏幕滑动距离的控制中去,使得各个被测终端的屏幕上均能够显示出需要操作的元素。
74.接下来,在步骤s520中,对步骤s510中各个被测终端的屏幕上显示出的需要操作的元素进行相应地操作,例如点击或滑动某一元素,以确定应用是否能够在各个被测终端上正常运行。
75.本发明的实施例还提供了一种分辨率纠偏装置600,该装置能够执行如上文所描述的分辨率纠偏方法300的各步骤处理。下面,结合图6来描述上述分辨率纠偏装置600。
76.如图6所示,分辨率纠偏装置600包括截屏单元610、预处理单元620、判断单元630以及纠偏单元640。
77.截屏单元610,适用于响应于对主控终端屏幕的滑动操作之后的查或操作某个元素,并提示异常,滑动操作为向上滑动的操作或向下滑动的操作,对主控终端进行截屏操作,得到主控终端截屏图像矩阵和各被测终端原始截屏图像矩阵。
78.预处理单元620,适于对各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到各被测终端的被测终端截屏图像矩阵。
79.判断单元630,适于分别判断主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵。
80.纠偏单元640,适于若存在交集矩阵,根据交集矩阵分别在主控终端截屏图像矩阵与各被测终端截屏图像矩阵中的位置和滑动操作的距离,计算各被测终端的分辨率偏移量,以完成被测终端的分辨率纠偏。
81.根据本发明的一个实现方式,判断单元630包括二值化处理单元和交集矩阵查单元。
82.二值化处理单元,适于将主控终端截屏图像矩阵与各被测终端截屏图像矩阵进行二值化处理。
83.交集矩阵查单元,适于判断二值化处理后的主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵。
84.根据本发明的一个实现方式,判断单元630还包括图像截取单元。
85.图像截取单元适于截取主控终端截屏图像矩阵的边缘作为交集矩阵,边缘为与滑动操作相反方向的边缘。
86.根据本发明的一个实现方式,当滑动操作为向上滑动的操作时,将交集矩阵的底部与被测终端截屏图像矩阵底部的距离作为交集矩阵在被测终端截屏图像矩阵中的位置;当滑动操作为向下滑动的操作时,将交集矩阵的顶部与被测终端截屏图像矩阵顶部的距离作为交集矩阵在被测终端截屏图像矩阵中的位置。
87.根据本发明的一个实现方式,装置600还包括重滑单元,重滑单元适于若不存在交集矩阵,对主控终端屏幕沿原滑动方向继续滑动,对主控终端进行截屏操作,将上一次截屏操作获得的主控终端截屏图像矩阵作为新的主控终端截屏图像矩阵,将本次截屏操作获得的被测终端截原始屏图像矩阵作为新的被测终端原始截屏图像矩阵。
88.根据本发明的一个实现方式,装置600还包括,第一验证单元、第二验证单元以及第三验证单元。
89.第一验证单元适于控制主控终端屏幕和被测终端屏幕所显示的内容回到初始位置。
90.第二验证单元响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照滑动操作的方向移动,移动距离为滑动操作的距离与对应的被测终端的分辨率偏移量之和。
91.第三验证单元适于在主控终端屏幕上查或操作某个元素,并查看是否存在提示异常。
92.本发明的实施例还提供了一种多终端协同测试装置700,该装置能够执行如上文所描述的多终端协同测试方法500的各步骤处理。下面,结合图7来描述上述多终端协同测试装置700。
93.如图7所示,多终端协同测试装置700包括控制单元710和测试单元720。
94.控制单元710适于响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照滑动操作的方向移动,移动距离为滑动操作的距离与对应的被测终端的分辨率偏移量之和。
95.测试单元720适于在主控终端屏幕上查/操作某个元素,将各被测终端的查/操作结果作为对应的被测终端的测试结果。
96.这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd-rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践
本发明的设备。
97.在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的分辨率纠偏方法或多终端协同测试方法。
98.以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
99.在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的优选实施方式。
100.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
101.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
102.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
103.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
104.如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
105.尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。
技术特征:
1.一种分辨率纠偏方法,包括:响应于对主控终端屏幕的滑动操作之后的查或操作某个元素,并提示异常,所述滑动操作为向上滑动的操作或向下滑动的操作,对所述主控终端进行截屏操作,得到主控终端截屏图像矩阵和各被测终端原始截屏图像矩阵;对所述各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到所述各被测终端的被测终端截屏图像矩阵;分别判断所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵;以及若存在交集矩阵,根据所述交集矩阵分别在所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵中的位置和滑动操作的距离,计算各被测终端的分辨率偏移量,以完成被测终端的分辨率纠偏。2.如权利要求1所述的分辨率纠偏方法,其中,所述判断所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵的步骤包括:将所述主控终端截屏图像矩阵与所述各被测终端截屏图像矩阵进行二值化处理;以及判断二值化处理后的主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵。3.如权利要求2所述的分辨率纠偏方法,其中,所述判断所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵的步骤还包括:截取所述主控终端截屏图像矩阵的边缘作为所述交集矩阵,所述边缘为与所述滑动操作相反方向的边缘。4.如权利要求1至3中任一项所述的分辨率纠偏方法,其中,当所述滑动操作为向上滑动的操作时,将所述交集矩阵的底部与所述被测终端截屏图像矩阵底部的距离作为所述交集矩阵在所述被测终端截屏图像矩阵中的位置;当所述滑动操作为向下滑动的操作时,将所述交集矩阵的顶部与所述被测终端截屏图像矩阵顶部的距离作为所述交集矩阵在所述被测终端截屏图像矩阵中的位置。5.如权利要求3或4所述的分辨率纠偏方法,所述方法还包括:若不存在交集矩阵,对主控终端屏幕沿原滑动方向继续滑动,对所述主控终端进行截屏操作,将上一次截屏操作获得的主控终端截屏图像矩阵作为新的主控终端截屏图像矩阵,将本次截屏操作获得的被测终端截原始屏图像矩阵作为新的被测终端原始截屏图像矩阵;然后返回至所述对所述各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到所述各被测终端的被测终端截屏图像矩阵的步骤。6.如权利要求1至4中任一项所述的分辨率纠偏方法,其中,所述方法还包括:控制所述主控终端屏幕和所述被测终端屏幕所显示的内容回到初始位置;响应于对主控终端屏幕的滑动操作,控制所述各被测终端屏幕所显示的内容按照所述滑动操作的方向移动,移动距离为所述滑动操作的距离与对应的被测终端的分辨率偏移量之和;以及在所述主控终端屏幕上查或操作某个元素,并查看是否存在提示异常。7.基于权利要求1至6中任一项所述的分辨率纠偏方法的多终端协同测试方法,包括:响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照所述滑动
操作的方向移动,移动距离为所述滑动操作的距离与对应的被测终端的分辨率偏移量之和;以及在所述主控终端屏幕上查/操作某个元素,将各被测终端的查/操作结果作为对应的被测终端的测试结果。8.一种分辨率纠偏装置,包括:截屏单元,适用于响应于对主控终端屏幕的滑动操作之后的查或操作某个元素,并提示异常,所述滑动操作为向上滑动的操作或向下滑动的操作,对所述主控终端进行截屏操作,得到主控终端截屏图像矩阵和各被测终端原始截屏图像矩阵;预处理单元,适于对所述各被测终端原始截屏图像矩阵进行矩阵处理矢量缩放,得到所述各被测终端的被测终端截屏图像矩阵;判断单元,适于分别判断所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵是否存在交集矩阵;以及纠偏单元,适于若存在交集矩阵,根据所述交集矩阵分别在所述主控终端截屏图像矩阵与各被测终端截屏图像矩阵中的位置和滑动操作的距离,计算各被测终端的分辨率偏移量,以完成被测终端的分辨率纠偏。9.一种多终端协同测试装置,包括:控制单元,适于响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按照所述滑动操作的方向移动,移动距离为所述滑动操作的距离与对应的被测终端的分辨率偏移量之和;以及测试单元,适于在所述主控终端屏幕上查/操作某个元素,将各被测终端的查/操作结果作为对应的被测终端的测试结果。10.一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行如权利要求1-6中任一项所述的分辨率纠偏方法或权利要求7所述的多终端协同测试方法。
技术总结
本发明公开了一种分辨率纠偏方法及装置、多终端协同测试方法及装置与计算设备。上述分辨率纠偏方法包括:响应于对主控终端屏幕的滑动操作之后的查或操作某个元素并提示异常,对主控终端进行截屏操作,当主控终端截屏图像矩阵与各被测终端截屏图像矩阵存在交集矩阵时,根据交集矩阵在主控终端截屏图像矩阵与被测终端截屏图像矩阵中的位置和滑动操作的距离,计算各被测终端的分辨率偏移量,完成分辨率纠偏。上述多终端协同测试方法包括:响应于对主控终端屏幕的滑动操作,控制各被测终端屏幕所显示的内容按滑动方向移动,移动距离为滑动操作距离与分辨率偏移量之和;以及在主控终端屏幕上查/操作某个元素,将查/操作结果作为测试结果。作为测试结果。作为测试结果。