CN104866414B - 应用程序的测试方法、装置及*** - Google Patents
应用程序的测试方法、装置及*** Download PDFInfo
- Publication number
- CN104866414B CN104866414B CN201410063291.9A CN201410063291A CN104866414B CN 104866414 B CN104866414 B CN 104866414B CN 201410063291 A CN201410063291 A CN 201410063291A CN 104866414 B CN104866414 B CN 104866414B
- Authority
- CN
- China
- Prior art keywords
- coordinate
- terminal
- test
- interface
- picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用程序的测试方法、装置及***。其中,该法包括:获取在第一终端上对被测应用程序执行测试操作的界面、在界面上执行测试操作时的操作执行坐标及与操作执行坐标对应的录制图片;截取第二终端上运行界面时的界面图片;对界面图片和录制图片进行图片识别,根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标;按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。本发明解决了现有技术中使用录制回放方法测试软件无法适应不同分辨率的终端,从而导致软件测试结果不准确的问题,实现了准确获取操作执行坐标,从而在第二终端上准确执行测试操作,获取准确的应用程序的测试结果的效果。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种应用程序的测试方法、装置及***。
背景技术
Android:Android是一种基于Linux的自由及开放源代码的操作***,主要使用于移动设备(如智能手机、平板电脑),由Google公司和开放手机联盟领导及开发。Android目前尚未有统一的中文名称,中国大陆地区较多人使用“安卓”。
模式识别:模式识别(Pattern Recognition)是指对表征事物或现象的各种形式(如数值、文字或逻辑关系)的信息进行处理和分析以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。
OpenCV:OpenCV是一个基于(开源)发行的跨平台计算机视觉库,它实现了图像处理和计算机视觉方面的很多通用算法。它是模式识别中的一种:图像及视觉处理识别的开源库。
软件测试,即software testing,是描述一种用来促进鉴定软件(或程序)的正确性、完整性、安全性和质量的过程。具体是指在规定的条件下对程序进行操作,一发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
现有技术中使用Android平台的手机的分辨率千差万别,如分辨率480*800像素、720*1280像素等,在Android平台上测试软件时,经常需要在不同分辨率的手机上测试同样的功能,在不同分辨率的手机上测试同一软件就需要重复多次相同或相似的操作,这样就需要大量的测试时间,为了节省测试时间,通常我们使用录制回放功能达到此目的,即在一台手机上测试,将测试过程录制下来保存为测试脚本,然后在其他手机上回放此测试脚本,以减少人工参与的时间。
具体地,现有技术中具有如下两种录制回放的方法:
(1)基于坐标的方式实现录制回放功能的方法:即在第一台Android平台手机上测试软件时,记录测试过程中点击的坐标并保存为测试脚本。
(2)基于控件的方式实现录制回放功能的方法:此录制回放可跨分辨率,但需要待测试程的源码。
然而,采用上述方法存在很多缺陷:
基于坐标的方式实现录制回放功能的方法依赖于手机的分辨率,例如,在480*800分辨率手机上获取的坐标应用于720*1280分辨率的手机上回放时,就会发生位置偏移,根本就无法定位到准确的位置,从而无法实现准确测试,也即,在480*800分辨率手机上获取的坐标只能用于相同分辨率的手机上,而无法在不同的分辨率如720*1280分辨率的手机上回放,有较大的局限性;而基于控件的方式实现录制回放功能的方法虽然不受分辨率的限制,但是需要使用待测试程序的源码才可以进行测试,在实际的软件测试过程中很难获取到待测试程序的源码,从而无法将该方法使用在对Android平台的手机的软件测试中。
针对上述使用录制回放方法测试软件无法适应不同分辨率的终端,从而导致软件测试结果不准确的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用程序的测试方法、装置及***,以至少解决使用录制回放方法测试软件无法适应不同分辨率的终端,从而导致软件测试结果不准确的问题的技术问题。
根据本发明实施例的一个方面,提供了一种应用程序的测试方法,该方法包括:获取在第一终端上对被测应用程序执行的操作信息,其中,操作信息包括第一终端上用于执行测试操作的界面、在界面上执行测试操作时的操作执行坐标、以及在界面上执行测试操作时与操作执行坐标对应的录制图片;截取第二终端上运行界面时的界面图片;对界面图片和录制图片进行图片识别,根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标;按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
根据本发明实施例的一个方面,提供了一种应用程序的测试装置,该装置包括:信息获取模块,用于获取在第一终端上对被测应用程序执行的操作信息,其中,操作信息包括第一终端上用于执行测试操作的界面、在界面上执行测试操作时的操作执行坐标、以及在界面上执行测试操作时与操作执行坐标对应的录制图片;第一截图模块,用于截取第二终端上运行界面时的界面图片;图片识别模块,用于对界面图片和录制图片进行图片识别,根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标;测试执行模块,用于按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
根据本发明实施例的另一方面,还提供了一种应用程序的测试***,该***包括:第一终端,用于根据对被测应用程序执行的测试操作生成并上传操作信息,其中,操作信息包括第一终端上用于执行测试操作的界面、在界面上执行测试操作时的操作执行坐标、以及在界面上执行测试操作时与操作执行坐标对应的录制图片;服务器,与第一终端连接,用于保存接收到的操作信息,并在接收到测试请求之后,将对应的操作信息下发至对应的终端;第二终端,与服务器连接,用于发送测试请求,并在接收到服务器下发的操作信息之后,截取第二终端上运行界面时的界面图片,并对界面图片和录制图片进行图片识别,在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
采用本发明,在第二终端上对被测应用程序执行测试操作的过程中,获取到在第一终端上对被测应用程序执行的操作信息,由于操作信息中不仅包括执行测试操作的界面和在界面上执行测试操作时的操作执行坐标,还包括在界面上执行测试操作时与操作执行坐标对应的录制图片,在第二终端上执行测试操作之前,对截取的第二终端上运行被测应用程序的界面时的界面图片和录制图片进行图片识别,并在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,按照操作回放坐标(而不是在第一终端上录制的操作执行坐标)在第二终端的界面上对被测应用程序执行测试操作,从而在第二终端上进行应用程序的测试时,不依据在第一终端上录制的操作执行坐标执行测试操作,而是通过图片识别获取到操作执行坐标在第二终端上对应的操作回放坐标执行测试操作,在回放过程中不依赖于分辨率和被测应用程序的源码,仅仅使用坐标便可在第二终端上确定准确的测试位置(用操作回放坐标表示该位置),然后按照操作回放坐标在第二终端的界面上执行对被测应用程序的测试操作,解决了现有技术中使用录制回放方法测试软件无法适应不同分辨率的终端,从而导致软件测试结果不准确的问题,实现了准确获取操作执行坐标,从而可以在第二终端上准确执行测试操作,达到获取准确的应用程序的测试结果的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的应用程序的测试方法的流程图;
图2是根据本发明实施例一的录制操作信息的流程图;
图3示出的本发明实施例一的确定操作回放坐标的流程图;
图4是根据本发明实施例一的在界面图片中找到与录制图片对应的区域的流程图;
图5是根据本发明实施例一的一种可选的应用程序的测试方法的流程图;
图6是根据本发明实施二的应用程序的测试装置的示意图;
图7是根据本发明实施二的一种可选的应用程序的测试装置的示意图;
图8是根据本发明实施二的图片识别模块的示意图;
图9是根据本发明实施二的区域获取模块的示意图;
图10是根据本发明实施例三的应用程序的测试***的结构示意图;以及
图11是根据本发明实施例三的一种可选的应用程序的测试***的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种用于实施应用程序的测试方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例一的应用程序的测试方法的流程图。
如图1所示,该方法可以包括如下步骤:
步骤S102:获取在第一终端上对被测应用程序执行的操作信息,其中,操作信息包括第一终端上用于执行测试操作的界面、在界面上执行测试操作时的操作执行坐标、以及在界面上执行测试操作时与操作执行坐标对应的录制图片。
步骤S104:截取第二终端上运行界面时的界面图片。
步骤S106:对界面图片和录制图片进行图片识别,根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标。
步骤S108:按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
采用本发明,在第二终端上对被测应用程序执行测试操作的过程中,获取到在第一终端上对被测应用程序执行的操作信息,由于操作信息中不仅包括执行测试操作的界面和在界面上执行测试操作时的操作执行坐标,还包括在界面上执行测试操作时与操作执行坐标对应的录制图片,在第二终端上执行测试操作之前,对截取的第二终端上运行界面时的界面图片和录制图片进行图片识别,并在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,按照操作回放坐标(而不是在第一终端上录制的操作执行坐标)在第二终端的界面上对被测应用程序执行测试操作,从而在第二终端上进行应用程序的测试时,不依据在第一终端上录制的操作执行坐标执行测试操作,而是通过图片识别获取到操作执行坐标在第二终端上对应的操作回放坐标执行测试操作,在回放过程中不依赖于分辨率和被测应用程序的源码,仅仅使用坐标便可在第二终端上确定准确的测试位置(用操作回放坐标表示该位置),然后按照操作回放坐标在第二终端的界面上执行对被测应用程序的测试操作,解决了现有技术中使用录制回放方法测试软件无法适应不同分辨率的终端,从而导致软件测试结果不准确的问题,实现了准确获取操作执行坐标,从而可以在第二终端上准确执行测试操作,达到获取准确的应用程序的测试结果的效果。
图2是根据本发明实施例一的录制操作信息的流程图。
如图2所示,在第一终端上录制操作信息可以包括如下步骤:
步骤S202:启动在第一终端上测试被测应用程序的测试事件。
具体地,在执行步骤S202之前,在第一终端上安装被测应用程序,并在第一终端上运行被测应用程序。其中,测试事件可以包括一个或多个测试操作,如,点击、滑动、长按以及短按等测试操作。
步骤S204:记录在第一终端的界面上执行测试操作时的操作执行坐标。
具体地,每个测试操作在第一终端的界面上对应一个测试位置,每个测试位置均可以使用操作执行坐标来表示,在执行每个测试操作时记录执行测试操作的界面和操作执行坐标。
步骤S206:按照预设截取像素数据在第一终端的界面上截取与操作执行坐标对应的录制图片。
在该实施例中,预设截取像素数据为预设的截取录制图片的大小的像素数据,如,预设截取像素数据可以为60像素*60像素,则可以在第一终端的界面上按照60像素*60像素的大小截取录制图片。可选地,在截取录制图片的过程中,可以将操作执行坐标对应的点作为录制图片的中心点进行截图。
步骤S208:检测是否执行完测试操作。
其中,在执行完测试操作的情况下,执行步骤S210;在未执行完测试操作的情况下,返回执行步骤S204。
步骤S210:保存操作执行坐标、界面以及录制图片生成操作信息。
具体地,记录操作执行坐标、界面以及操作执行坐标与录制图片的关联关系,生成录制脚本,保存录制脚本和录制图片得到操作信息。即,操作信息可以包括录制脚本和录制图片,录制脚本中记录着:第一终端上用于执行测试操作的界面、界面上执行测试操作时的操作执行坐标、以及操作执行坐标与录制图片的关联关系。
通过上述的步骤S202至步骤S210可以完成在第一终端上录制操作信息的过程。其中,在执行步骤S202至步骤S210完成录制操作信息之后,可以执行步骤S102至步骤S108实现在第二终端上回放操作信息,以完成对被测应用程序的测试。
可选地,步骤S102至步骤S108在第二终端上实现。具体地,该方法实施例中的第一终端和第二终端可以是不同的用户终端(如手机、平板电脑等),也可以是同一用户终端,也即,在上述测试方法中,可以在同一用户终端上完成录制操作信息和回放操作信息的过程。
根据本发明的上述实施例,图1中示出的步骤S102可以通过如下方法实现:发送测试请求至服务器,并接收服务器返回的与测试请求对应的操作信息。
具体地,第二终端发送测试被测应用程序的测试请求至服务器,服务器(如云服务器)在接收到测试请求之后,从数据库中读取对应该测试请求的操作信息,并将该操作信息下发至第二终端,第二终端在接收到服务器返回的操作信息之后,从操作信息中的录制脚本中依次读取测试操作,并通过测试操作和录制图片与操作执行坐标之间的关联关系依次获取对应的录制图片,然后截取第二终端上运行该执行测试操作的界面时的界面图片,并对界面图片和录制图片进行图片识别,在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,判断是否识别完全部的操作执行坐标,在识别完录制脚本中所有的操作执行坐标对应的操作回放坐标之后,按照操作回放坐标在第二终端的界面上依次对被测应用程序执行测试操作。
需要进一步说明的是,图1示出的步骤S108:按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作可以通过如下方法实现:在第二终端识别到与操作执行坐标对应的操作回放坐标之后,将录制脚本中的操作执行坐标替换为操作回放坐标,得到更新后的录制脚本;然后在第二终端的界面(在上述实施例中为计算界面)上回放更新后的录制脚本,以按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
具体地,上述实施例中的第一终端和第二终端可以是基于Android平台的移动终端设备(如手机、平板电脑),可选地可以将本发明的上述测试方法应用于Android手机的软件测试中。
例如,在对Android手机的计算器进行测试时,可以在第一终端(如第一手机)上启动测试事件:第一个测试操作为点击“5”,在录制该测试操作时,记录该点击坐标,即“5”在第一手机的计算界面的坐标(x1,y1),同时截取对应该坐标的录制图片A并获取该录制图片A的地址Da(在实际操作中Da为具体的录制图片A的存储位置的地址数据,此处的Da仅作为地址数据的符号),则在录制脚本中可以记录:click(x1,y1)_Da。在该测试事件包括一个点击动作的情况下,在完成对该点击动作的录制之后,保存录制脚本和录制图片生成操作信息,并将该操作信息上传至服务器(如云服务器),服务器在接收到操作信息之后将其保存在服务器的数据库中。
根据本发明的上述实施例,第二终端(如第二手机)可以向云服务器发出测试应用程序(如计算器)的测试请求,云服务器在接收到测试请求之后,获取与该测试请求对应的操作信息,并将操作信息下发至请求测试的第二手机,第二手机在接收到云服务器下发的操作信息之后,第二手机上运行已经安装的应用程序(如计算器),截取第二手机上与操作信息中的计算界面对应的界面图片B,然后依次从录制脚本中读取测试操作,假如第一个测试操作为点击“5”,则根据录制脚本中记录的地址Da获取录制图片A,通过本发明方法实施例中的图片识别方法,确定界面图片B中与操作执行坐标(x1,y1)对应的操作回放坐标(x2,y2)之后,按照操作回放坐标(x2,y2)在第二终端的界面上执行点击操作。依据上述对计算器进行测试的实施例,在第二终端的界面上对计算器执行测试操作,即为在第二手机上启动计算器之后的计算界面上点击坐标为(x2,y2)的点,以在第二终端上测试计算器。
在上述实施例中,具有一个测试操作的测试事件仅仅是举例说明,实际对应用程序的测试中,每个测试事件均可以包括一个或多个测试操作,对于每个测试操作均可以使用上述测试方法对第二终端进行应用程序的测试,并且在实际对应用程序的测试中,在获取到与测试事件中所有的操作执行坐标对应的操作回放坐标,并将录制脚本中的所有操作执行坐标全部替换完毕之后,再按照更新后的录制脚本中记录的测试操作的顺序依次按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
图3示出的本发明实施例一的确定操作回放坐标的流程图。
如图3所示,步骤S106:对界面图片和录制图片进行图片识别,根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标可以通过如下方法实现:
步骤S302:在界面图片中找到与录制图片对应的区域。
步骤S304:计算区域与录制图片的相似度。
步骤S306:检测相似度是否符合预设阈值。
其中,在相似度符合预设阈值的情况下,执行步骤S308;在相似度不符合预设阈值的情况下,执行步骤S310。
具体地,预设阈值是表征区域与录制图片相似度的一个预设参考值。在该步骤中,相似度符合预设阈值则确定步骤S302得到的区域是有效的区域,从而确认区域与录制图片的相似度高,如果是有效区域则使用步骤S308中提供的方法确认操作回放坐标;相似度不符合预设阈值则确定步骤S302得到的区域是无效的。假设第一手机中存在P按键,而第二手机中不存在P按键,即便是通过步骤S302可以找到对应录制图片的区域,但是计算两者的相似度不符合预设阈值,则认为两者的相似度偏低,确认该区域为无效的区域,则使用步骤S310中提供的方法确认操作回放坐标。
步骤S308:根据操作执行坐标与录制图片的位置关系在区域中查找对应的操作回放坐标。
步骤S310:根据操作执行坐标、以及第一终端和第二终端的分辨率确定操作回放坐标。
在该实施例中,由于在第一终端和第二终端测试的被测应用程序是同一个程序,则在界面图片中找到的与录制图片对应的区域,从理论上讲是相似度非常高或者是完全一致的,但是实际软件开发过程中,开发人员对于不同屏幕大小、不同分辨率甚至是不同品牌的手机会做一些差异化处理(例如:有些菜单键在不同的分辨率上形式、大小不同,甚至有些在大屏幕的手机上存在的按键在小屏手机上不存在),这些差异化处理导致执行步骤S302得到的区域与录制图片可能存在一些差异。
通过上述步骤S304至S310可以对与录制图片的相似度程度不同的区域通过不同的坐标处理方法确认操作回放坐标,步骤S308通过像素特征计算得到的操作回放坐标的确认方法,而步骤S310的方法依据分辨率的倍率确定操作回放坐标,在区域与录制图片的相似度高的情况下,使用步骤S308中的方法比使用步骤S310中的方法的准确度更高一些;而在区域与录制图片的相似度偏低的情况下,认为界面图片中不存在该录制图片,通过步骤S310比步骤S308确认操作回放坐标的准确度更高。依据区域与录制图片的相似度程度采用不同的坐标确认方法,可以对不同的测试情况进行不同的处理,从而可以避免单独使用步骤S308或者单独使用步骤S310中的确认坐标的方法,从而可以得到更加准确的操作回放坐标。
图4是根据本发明实施例一的在界面图片中找到与录制图片对应的区域的流程图。
具体地,第二终端的第二处理器可以调用开源图像数据库在界面图片中找到与录制图片对应的区域。可选地,开源图像数据库可以为OpenCV,在获取到操作信息中的操作执行坐标(x1,y1)和录制图片A之后,在第二终端回放操作信息的过程中,可以先截取界面图片B,然后通过OpenCV中的模式识别算法来计算录制图片A在界面图片B中的区域。在该实施例中,在第一终端和第二终端的录制回放过程中引入模式识别的功能,不简单依据录制的操作执行坐标在第二终端上进行回放,而是通过模式识别对像素的识别查询到界面图片上对应录制图片的区域,不依赖于同分辨率和应用程序的源码,即可确定第二终端上对应操作执行坐标的操作回放坐标,可以准确快速地定位到第二终端的测试位置,并且查找的准确率更高。
具体地,如图4所示,在界面图片中找到与录制图片对应的区域可以通过如下步骤实现:
步骤S402:通过尺度不变特征变换算法采集录制图片和界面图片的特征点和特征向量。
具体地,可以通过调用OpenCV携带的SURF算法对录制图片A和界面图片B进行特征点和特征向量的采集。
其中,特征点为图像上表征图像特征、图像类型或者图像位置信息等图像特征的关键点;特征向量则为图像上特征点之间的向量关系,如特征点之间的向量距离等。
上述的Surf算法是尺度不变特征变换算法,在适中的条件下完成两幅图像中物体的匹配。
步骤S404:对采集到的特征点和特征向量进行特征匹配计算得到特征信息。
具体地,可以通过OpenCV携带的match算法(即匹配算法)在界面图片B中寻找与录制图片A匹配的特征信息。其中,该特征信息可以包括:两个图片中的特征点、特征向量之间的相似度等信息。
步骤S406:按照预设条件对特征信息进行过滤处理得到过滤后的特征信息,使用过滤后的特征信息勾画出区域。
具体地,预设条件可以包括预设的特征点相似度阈值和特征向量相似度阈值,在获取到特征信息之后,可以将特征信息中不符合特征点相似度阈值和特征向量相似度阈值的特征点和特征向量舍弃掉,得到过滤后的特征信息,使用过滤后的特征信息勾画出上述的区域。其中,该区域可以通过一系列的区域坐标表示。
在上述步骤S402至S406中,通过模式识别得到的区域可能是一个不规则的区域,因此,在执行步骤S406之后,可以通过执行图3中示出S304至S310完成对操作回放坐标的确认。
在本发明的上述实施例中,在第一终端(如第一手机)上记录操作执行坐标的同时,截取了操作执行坐标的附近的录制图片并保存,该录制图片用来在回放中进行模式识别匹配;在第二终端的回放过程中,在安装并启动被测应用程序之后,在第二终端(如第二手机)的运行界面时截取界面图片,可以使用OpenCV对界面图片和录制图片进行图像识别,识别录制图片在界面图片中的区域,并根据该区域确定操作回放坐标,然后将录制脚本的操作执行坐标替换为操作回放坐标得到替换后(或更新后)的录制脚本,并在第二终端(如第二手机)上执行替换后的录制脚本,执行完替换后的录制脚本中的所有测试操作之后完成在第二终端上对被测应用程序的测试。通过上述方法,在整个测试过程中,通过像素确定测试坐标,不受分辨率和被测应用程序的源码的影像,解决了跨分辨率的问题,实现了准确锁定测试位置,从而获取准确的测试结果的效果。
图5是根据本发明实施例一的一种可选的应用程序的测试方法的流程图。
如图5所示,该方法可以包括如下步骤:
步骤S502:在第二终端上启动被测应用程序。
具体地,在执行步骤S502之前,在第二终端上安装该被测应用程序。
步骤S504:在第二终端的界面上截取界面图片。
步骤S506:对界面图片和录制图片进行图片识别,根据图片识别的结果确定与操作执行坐标对应的操作回放坐标。
具体地,该步骤与图1中示出的步骤S106的实现方法一致,在此不再赘述。
步骤S508:使用操作回放坐标替换录制脚本中的操作执行坐标得到更新后的录制脚本。
步骤S510:在第二终端的界面上执行更新后的录制脚本。
具体地,由于录制脚本中记录着对被测应用程序进行测试的一个或多个测试操作,在步骤S508中仅仅是进行了坐标更新,并没有对录制脚本中的其他内容进行任何修改,从而在执行步骤S510时可以完整地执行录制的脚本中的所有测试操作,仅仅是操作的坐标不同。通过上述实施例,通过对录制脚本中的坐标的替换,在第二终端上对被测应用程序进行测试时,不涉及测试终端的分辨率和应用程序的源码,从而解决了软件测试时无法跨分辨率测试的问题,实现了准确查找测试坐标的效果。
需要进一步说明的是,图3中的根据操作执行坐标与录制图片的位置关系在区域中查找对应的操作回放坐标可以包括:根据位置关系确定操作执行坐标对应的操作点是否为录制图片的第一中心点;在操作点为第一中心点的情况下,查找区域的第二中心点,第二中心点的坐标为操作回放坐标;在操作点不为第一中心点的情况下,在区域内随机抽取预设个数的回放点;计算每个回放点与第二中心点之间的第一距离;计算操作点与第一中心点之间的第二距离;分别计算第一距离与第二距离的差值得到差值集;从差值集中提取值最小的差值;将值最小的差值对应的回放点的坐标作为操作回放坐标。
具体地,在第一终端上录制该录制脚本的时候截取的录制图片A中包括操作执行坐标对应的操作点,在上述实施例中,根据操作执行坐标与录制图片的位置关系可以在区域中查找对应的操作回放坐标。其中,在操作执行坐标对应的操作点为录制图片的第一中心点的情况下,查找区域的第二中心点,将第二中心点的坐标为操作回放坐标,在该种情况下,即便是区域不是一个规则的区域,但是区域的中心点可以准确的确定,从而可以得到准确的操作回放坐标;在操作点不为第一中心点的情况下,在区域内随机抽取预设个数的回放点,在实际操作中可以多取几个像素点,然后通过距离算法计算每个回放点与第二中心点之间的第一距离,并计算操作点与第一中心点之间的第二距离;然后将最接近第二距离的第一距离对应的回放点的坐标作为操作回放坐标。具体地,可以分别计算第一距离与第二距离的差值得到差值集,然后从差值集中提取值最小的差值,将值最小的差值对应的回放点的坐标作为操作回放坐标。其中,预设个数的值可以属于区间[5,10]。
在上述实施例中,通过直接确定中心点或者通过像素之间的距离关系来确定操作回放坐标,在整个确定操作回放坐标的过程中,不需要使用第一终端和第二终端的分辨率,从而整个识别操作回放坐标的过程不受分辨率的影响,从而解决了跨分辨率的问题,实现了准确确定测试位置的操作回放坐标的效果。
根据本发明的上述实施例,图3中的根据操作执行坐标、以及第一终端和第二终端的分辨率确定操作回放坐标可以包括:获取第一终端的第一分辨率和第二终端的第二分辨率;计算第一分辨率和第二分辨率的倍率;使用倍率对操作执行坐标进行分辨率换算得到操作回放坐标。
具体地,在区域和录制图片的相似度不符合预设阈值的情况下,也即,确认在第二终端的界面图片上无法找到录制图片的对应位置,则获取第一终端(如第一手机)的第一分辨率和第二终端(第二手机)的第二分辨率,然后计算第一分辨率和第二分辨率的倍率,使用该倍率对操作执行坐标进行分辨率换算得到操作回放坐标。
将本发明的上述实施例应用于基于安卓手机的软件测试中时,例如,第一手机的分辨率为480*800,第二手机的分辨率为240*320,则先计算两个分辨率的倍率,然后将操作执行坐标(x1,y1)中的x1,y1分别与倍率相乘得到x2和y2即为可得到操作回放坐标(x2,y2)。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述方法实施例的应用程序的测试装置,该装置可以通过在实施例一中涉及的测试方法来实现,下面从在第二终端上运行上述装置的角度对本申请的实施过程进行详细描述。
图6是根据本发明实施的应用程序的测试装置的示意图。
如图6所示,该装置可以包括:信息获取模块10、第一截图模块20、图片识别模块30以及测试执行模块40。
其中,信息获取模块10,用于获取在第一终端上对被测应用程序执行的操作信息,其中,操作信息包括第一终端上用于执行测试操作的界面、在界面上执行测试操作时的操作执行坐标、以及在界面上执行测试操作时与操作执行坐标对应的录制图片。
第一截图模块20,用于截取第二终端上运行界面时的界面图片。
图片识别模块30,用于对界面图片和录制图片进行图片识别,根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标。
测试执行模块40,用于按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
采用本发明,在第二终端上对被测应用程序执行测试操作的过程中,获取到在第一终端上对被测应用程序执行的操作信息,由于操作信息中不仅包括执行测试操作的界面和在界面上执行测试操作时的操作执行坐标,还包括在界面上执行测试操作时与操作执行坐标对应的录制图片,在第二终端上执行测试操作之前,对截取的第二终端上运行界面时的界面图片和录制图片进行图片识别,并在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,按照操作回放坐标(而不是在第一终端上录制的操作执行坐标)在第二终端的界面上对被测应用程序执行测试操作,从而在第二终端上进行应用程序的测试时,不依据在第一终端上录制的操作执行坐标执行测试操作,而是通过图片识别获取到操作执行坐标在第二终端上对应的操作回放坐标执行测试操作,在回放过程中不依赖于分辨率和被测应用程序的源码,仅仅使用坐标便可在第二终端上确定准确的测试位置(用操作回放坐标表示该位置),然后按照操作回放坐标在第二终端的界面上执行对被测应用程序的测试操作,解决了现有技术中使用录制回放方法测试软件无法适应不同分辨率的终端,从而导致软件测试结果不准确的问题,实现了准确获取操作执行坐标,从而可以在第二终端上准确执行测试操作,达到获取准确的应用程序的测试结果的效果。
如图7所示,本发明实施例中的测试装置可以包括:启动模块50、记录模块60、第二截图模块70、检测模块80以及保存模块90。
其中,启动模块50用于启动在第一终端上测试被测应用程序的测试事件。
具体地,在启动模块开始工作之前,可以在第一终端上安装被测应用程序,并在第一终端上运行被测应用程序。其中,测试事件可以包括一个或多个测试操作,如,点击、滑动、长按以及短按等测试操作。
记录模块60用于记录在第一终端的界面上执行测试操作时的操作执行坐标。
具体地,每个测试操作在第一终端的界面上对应一个测试位置,每个测试位置均可以使用操作执行坐标来表示,在执行每个测试操作时记录执行测试操作的界面和操作执行坐标。
第二截图模块70用于按照预设截取像素数据在第一终端的界面上截取与操作执行坐标对应的录制图片。
在该实施例中,预设截取像素数据为预设的截取录制图片的大小的像素数据,如,预设截取像素数据可以为60像素*60像素,则可以在第一终端的界面上按照60像素*60像素的大小截取录制图片。可选地,在截取录制图片的过程中,可以将操作执行坐标对应的点作为录制图片的中心点进行截图。
检测模块80用于检测是否执行完测试操作。
其中,在执行完测试操作的情况下,控制保存模块工作;在未执行完测试操作的情况下,返回控制记录模块60工作。
保存模块90用于保存操作执行坐标、界面以及录制图片生成操作信息。
具体地,记录操作执行坐标、界面以及操作执行坐标与录制图片的关联关系,生成录制脚本,保存录制脚本和录制图片得到操作信息。即,操作信息可以包括录制脚本和录制图片,录制脚本中记录着:第一终端上用于执行测试操作的界面、界面上执行测试操作时的操作执行坐标、以及操作执行坐标与录制图片的关联关系。
通过上述的五个模块可以完成在第一终端上录制操作信息的过程。其中,在通过上述的五个模块完成在第一终端上的录制操作信息之后,可以信息获取模块10、第一截图模块20、图片识别模块30以及测试执行模块40在第二终端上回放操作信息,以完成对被测应用程序的测试。
可选地,信息获取模块10、第一截图模块20、图片识别模块30以及测试执行模块40可以设置在第二终端上。具体地,该装置实施例中的第一终端和第二终端可以是不同的用户终端(如手机、平板电脑等),也可以是同一用户终端,也即,在上述测试装置中,可以在同一用户终端上完成录制操作信息和回放操作信息的过程。
通过上述的启动模块50、记录模块60、第二截图模块70、检测模块80以及保存模块90,分别对应方法实施例中的步骤S202至步骤S210的实现方法。上述的启动模块50、记录模块60、第二截图模块70、检测模块80以及保存模块90与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。上述启动模块50、记录模块60、第二截图模块70、检测模块80以及保存模块90可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
需要进一步说明的是,图6示出的测试执行模块可以包括:执行子模块,用于在第二终端识别到与操作执行坐标对应的操作回放坐标之后,将录制脚本中的操作执行坐标替换为操作回放坐标,得到更新后的录制脚本;然后在第二终端的界面(在上述实施例中为计算界面)上回放更新后的录制脚本,以按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
具体地,上述实施例中的第一终端和第二终端可以是基于Android平台的移动终端设备(如手机、平板电脑),可选地可以将本发明的上述测试装置应用于Android手机的软件测试中。
例如,在对Android手机的计算器进行测试时,可以通过第一终端(如第一手机)上的启动模块50启动测试事件:第一个测试操作为点击“5”,在录制该测试操作时,记录该点击坐标,即“5”在第一手机的计算界面的坐标(x1,y1),同时截取对应该坐标的录制图片A并获取该录制图片A的地址Da(在实际操作中Da为具体的录制图片A的存储位置的地址数据,此处的Da仅作为地址数据的符号),则在录制脚本中可以记录:click(x1,y1)_Da。在该测试事件包括一个点击动作的情况下,在完成对该点击动作的录制之后,保存录制脚本和录制图片生成操作信息,并将该操作信息上传至服务器(如云服务器),服务器在接收到操作信息之后将其保存在服务器的数据库中。
根据本发明的上述实施例,第二终端(如第二手机)可以向云服务器发出测试应用程序(如计算器)的测试请求,云服务器在接收到测试请求之后,获取与该测试请求对应的操作信息,并将操作信息下发至请求测试的第二手机,第二手机在接收到云服务器下发的操作信息之后,第二手机上运行已经安装的应用程序(如计算器),截取第二手机上与操作信息中的计算界面对应的界面图片B,然后依次从录制脚本中读取测试操作,假如第一个测试操作为点击“5”,则根据录制脚本中记录的地址Da获取录制图片A,通过本发明上述方法实施例中的图片识别方法,确定界面图片B中与操作执行坐标(x1,y1)对应的操作回放坐标(x2,y2)之后,按照操作回放坐标(x2,y2)在第二终端的界面上执行点击操作。依据上述对计算器进行测试的实施例,在第二终端的界面上对计算器执行测试操作,即为在第二手机上启动计算器之后的计算界面上点击坐标为(x2,y2)的点,以在第二终端上测试计算器。
在上述实施例中,具有一个测试操作的测试事件仅仅是举例说明,实际对应用程序的测试中,每个测试事件均可以包括一个或多个测试操作,对于每个测试操作均可以使用上述实施例一中的测试方法对第二终端进行应用程序的测试,并且在实际对应用程序的测试中,在获取到与测试事件中所有的操作执行坐标对应的操作回放坐标,并将录制脚本中的所有操作执行坐标全部替换完毕之后,再按照更新后的录制脚本中记录的测试操作的顺序依次按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
在本发明的上述实施例中,保存模块可以包括保存子模块和加密模块,其中,保存子模块用于保存操作执行坐标、界面以及录制图片生成初始操作信息,然后加密模块将初始操作信息加密为操作信息;上述实施例中的测试装置还可以包括:解密模块,解密模块用于对服务器下发的操作信息进行解密处理得到解密后的操作信息,在信息获取模块10获取到操作信息之后,通过解密模块将其解密得到解密后的操作信息,然后通过第一截图模块20、图片识别模块30以及测试执行模块40对被测应用程序测试。
根据本发明的上述实施例,在对被测应用程序测试之前,在第一终端上安装被测应用程序,通过启动模块50启动在第一终端上对被测应用程序执行测试操作的测试事件,在启动测试事件之后操作被测应用程序,记录在操作被测应用程序的过程中在第一终端的界面上的操作执行坐标以及与操作执行坐标对应的录制图片,在完成对被测应用程序的录制之后,生成录制脚本,保存录制脚本和录制图片生成初始操作信息;加密模块收到初始操作信息之后,对初始操作信息进行加密处理得到操作信息。
上述实施例中的测试装置还可以包括信息发送模块,该信息发送模块用于在得到操作信息之后,将操作信息发送至服务器。
具体地,上述实施例中的第二终端还可以包括请求发送模块和信息接收模块,该请求发送模块与服务器连接,用于向服务器发送测试请求,服务器接收到测试请求之后,将与测试请求对应的操作信息发送至对应的第二终端,第二终端的信息接收模块接收到服务器返回的操作信息之后,解密模块对操作信息解密得到解密后的操作信息,然后图片识别模块30根据该解密后的操作信息识别操作回放坐标,并通过测试执行模块40在第二终端上对被测应用程序测试。
可选地,上述实施例一中的信息发送模块、请求发送模块和信息接收模块可以是内置于第一终端或第二终端的处理模块,也可以是直接使用第一终端或第二终端(如手机、平板电脑)上的网络通讯装置(如,天线)来实现。
如图8所示,上述实施例中的图片识别模块30可以包括:区域获取模块31、相似度计算模块32、检测模块33、第一坐标获取模块34、以及第二坐标获取模块35。
其中,区域获取模块31,用于在界面图片中找到与录制图片对应的区域。
相似度计算模块32,用于计算区域与录制图片的相似度。
检测模块33,用于检测相似度是否符合预设阈值。
具体地,预设阈值是表征区域与录制图片相似度的一个预设参考值。在该步骤中,相似度符合预设阈值则确定通过区域获取模块31得到的区域是有效的区域,从而确认区域与录制图片的相似度高,如果是有效区域则使用第一坐标获取模块34确认操作回放坐标;相似度不符合预设阈值则确定通过区域获取模块31得到的区域是无效的。假设第一手机中存在P按键,而第二手机中不存在P按键,即便是通过区域获取模块31可以找到对应录制图片的区域,但是计算两者的相似度不符合预设阈值,则认为两者的相似度偏低,确认该区域为无效的区域,则使用第二坐标获取模块35确认操作回放坐标。
第一坐标获取模块34,用于在相似度符合预设阈值的情况下,根据操作执行坐标与录制图片的位置关系在区域中查找对应的操作回放坐标。
第二坐标获取模块35,用于在相似度不符合预设阈值的情况下,根据操作执行坐标、以及第一终端和第二终端的分辨率确定操作回放坐标。
在该实施例中,由于在第一终端和第二终端测试的被测应用程序是同一个程序,则在界面图片中找到的与录制图片对应的区域,从理论上讲是相似度非常高或者是完全一致的,但是实际软件开发过程中,开发人员对于不同屏幕大小、不同分辨率甚至是不同品牌的手机会做一些差异化处理(例如:有些菜单键在不同的分辨率上形式、大小不同,甚至有些在大屏幕的手机上存在的按键在小屏手机上不存在),这些差异化处理导致通过区域获取模块31得到的区域与录制图片可能存在一些差异。
通过上述区域获取模块31、相似度计算模块32、检测模块33、第一坐标获取模块34、以及第二坐标获取模块35可以对与录制图片的相似度程度不同的区域通过不同的坐标处理方法确认操作回放坐标,通过第一坐标获取模块34对像素特征计算得到的操作回放坐标的确认方法,而第二坐标获取模块35依据分辨率的倍率确定操作回放坐标,在区域与录制图片的相似度高的情况下,使用第一坐标获取模块34比使用第二坐标获取模块35的准确度更高一些;而在区域与录制图片的相似度偏低的情况下,认为界面图片中不存在该录制图片,通过第二坐标获取模块35比第一坐标获取模块34确认操作回放坐标的准确度更高。依据区域与录制图片的相似度程度采用不同的坐标确认方法,可以对不同的测试情况进行不同的处理,从而可以避免单独使用第一坐标获取模块34或者单独使用第二坐标获取模块35确认坐标带来的误差,从而可以得到更加准确的操作回放坐标。
上述的区域获取模块31、相似度计算模块32、检测模块33、第一坐标获取模块34、以及第二坐标获取模块35,分别对应方法实施例中的步骤S502至步骤S510的实现方法。上述的区域获取模块31、相似度计算模块32、检测模块33、第一坐标获取模块34、以及第二坐标获取模块35与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容,且上述五个模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
需要进一步说明的是,区域获取模块可以调用开源图像数据库来在界面图片中找到与录制图片对应的区域。其中,可选地,开源图像数据库可以为OpenCV,在获取到操作信息中的操作执行坐标(x1,y1)和录制图片A之后,在第二终端回放操作信息的过程中,可以先截取界面图片B,然后通过使用OpenCV中的模式识别算法来计算录制图片A在界面图片B中的区域。在该实施例中,在第一终端和第二终端的录制回放过程中引入模式识别的功能,不简单依据录制的操作执行坐标在第二终端上进行回放,而是通过模式识别对像素的识别查询到界面图片上对应录制图片的区域,不依赖于同分辨率和应用程序的源码,即可确定第二终端上对应操作执行坐标的操作回放坐标,可以准确快速地定位到第二终端的测试位置,并且查找的准确率更高。
具体地,如图9所示,区域获取模块31可以包括:特征采集模块311、特征匹配模块313以及区域确定模块315。
其中,特征采集模块311,用于通过尺度不变特征变换算法采集录制图片和界面图片的特征点和特征向量。
具体地,可以通过调用OpenCV携带的SURF算法对录制图片A和界面图片B进行特征点和特征向量的采集。
其中,特征点为图像上表征图像特征、图像类型或者图像位置信息等图像特征的关键点;特征向量则为图像上特征点之间的向量关系,如特征点之间的向量距离等。
特征匹配模块313,用于对采集到的特征点和特征向量进行特征匹配计算得到特征信息。
具体地,可以通过OpenCV携带的match算法(即匹配算法)在界面图片B中寻找与录制图片A匹配的特征信息。其中,该特征信息可以包括:两个图片中的特征点、特征向量之间的相似度等信息。
区域确定模块315,用于按照预设条件对特征信息进行过滤处理得到过滤后的特征信息,使用过滤后的特征信息勾画出区域。
具体地,预设条件可以包括预设的特征点相似度阈值和特征向量相似度阈值,在获取到特征信息之后,可以将特征信息中不符合特征点相似度阈值和特征向量相似度阈值的特征点和特征向量舍弃掉,得到过滤后的特征信息,使用过滤后的特征信息勾画出上述的区域。其中,该区域可以通过一系列的区域坐标表示。
在本发明的上述实施例中,在第一终端(如第一手机)上程在记录操作执行坐标的同时,截取了操作执行坐标的附近的录制图片并保存,该录制图片用来在回放中进行模式识别匹配;在第二终端的回放过程中,在安装并启动被测应用程序之后,在第二终端(如第二手机)的运行界面时截取界面图片,可以使用OpenCV对界面图片和录制图片进行图像识别,识别录制图片在界面图片中的区域,并根据该区域确定操作回放坐标,然后将录制脚本的操作执行坐标替换为操作回放坐标得到替换后(或更新后)的录制脚本,并在第二终端(如第二手机)上执行替换后的录制脚本,执行完替换后的录制脚本中的所有测试操作之后完成在第二终端上对被测应用程序的测试。
进一步地,由于录制脚本中记录着对被测应用程序进行测试的一个或多个测试操作,在第二终端上回放之前,对录制脚本仅仅是进行了坐标更新,并没有对录制脚本中的其他内容进行任何修改,从而测试执行模块可以完整地执行录制的脚本中的所有测试操作,仅仅是操作的坐标不同。通过上述实施例,通过对录制脚本中的坐标的替换,在第二终端上对被测应用程序进行测试时,不涉及测试终端的分辨率和应用程序的源码,从而解决了软件测试时无法跨分辨率测试的问题,实现了准确查找测试坐标的效果
本实施例中所提供的特征采集模块311、特征匹配模块313以及区域确定模块315与实施例一所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例一中的内容和场景。
根据本发明的上述实施例,第一坐标获取模块可以包括:位置辨别模块,用于根据位置关系确定操作执行坐标对应的操作点是否为录制图片的第一中心点;中心点查找模块,用于在操作点为第一中心点的情况下,查找区域的第二中心点,第二中心点的坐标为操作回放坐标;抽取模块,用于在操作点不为第一中心点的情况下,在区域内随机抽取预设个数的回放点;第一距离计算模块,用于计算每个回放点与第二中心点之间的第一距离;第二距离计算模块,用于计算操作点与第一中心点之间的第二距离;差值计算模块,用于分别计算第一距离与第二距离的差值得到差值集;提取模块,用于从差值集中提取值最小的差值;坐标确定模块,用于将值最小的差值对应的回放点的坐标作为操作回放坐标。
具体地,在第一终端上录制该录制脚本的时候截取的录制图片A中包括操作执行坐标对应的操作点,在上述实施例中,根据操作执行坐标与录制图片的位置关系可以在区域中查找对应的操作回放坐标。其中,在操作执行坐标对应的操作点为录制图片的第一中心点的情况下,查找区域的第二中心点,将第二中心点的坐标为操作回放坐标,在该种情况下,即便是区域不是一个规则的区域,但是区域的中心点可以准确的确定,从而可以得到准确的操作回放坐标;在操作点不为第一中心点的情况下,在区域内随机抽取预设个数的回放点,在实际操作中可以多取几个像素点,然后通过距离算法计算每个回放点与第二中心点之间的第一距离,并计算操作点与第一中心点之间的第二距离;然后将最接近第二距离的第一距离对应的回放点的坐标作为操作回放坐标。具体地,可以分别计算第一距离与第二距离的差值得到差值集,然后从差值集中提取值最小的差值,将值最小的差值对应的回放点的坐标作为操作回放坐标。其中,预设个数的值可以属于区间[5,10]。
在上述实施例中,通过直接确定中心点或者通过像素之间的距离关系来确定操作回放坐标,在整个确定操作回放坐标的过程中,不需要使用第一终端和第二终端的分辨率,从而整个识别操作回放坐标的过程不受分辨率的影响,从而解决了跨分辨率的问题,实现了准确确定测试位置的操作回放坐标的效果。
在本发明的上述实施例中,第二坐标获取模块可以包括:分辨率获取模块,用于获取第一终端的第一分辨率和第二终端的第二分辨率;倍率计算模块,用于计算第一分辨率和第二分辨率的倍率;坐标换算模块,用于使用倍率对操作执行坐标进行分辨率换算得到操作回放坐标。
具体地,在区域和录制图片的相似度不符合预设阈值的情况下,也即,确认在第二终端的界面图片上无法找到录制图片的对应位置,则获取第一终端(如第一手机)的第一分辨率和第二终端(第二手机)的第二分辨率,然后计算第一分辨率和第二分辨率的倍率,使用该倍率对操作执行坐标进行分辨率换算得到操作回放坐标。
将本发明的上述实施例应用于基于安卓手机的软件测试中时,例如,第一手机的分辨率为480*800,第二手机的分辨率为240*320,则先计算两个分辨率的倍率,然后将操作执行坐标(x1,y1)中的x1,y1分别与倍率相乘得到x2和y2即为可得到操作回放坐标(x2,y2)。
实施例3
在其最基本的配置中,图10是根据本发明实施例三的应用程序的测试***的结构示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算***解释为对图10所示的任一组件或其组合具有任何依赖或需求。
如图10所示,该***可以包括:第一终端1、服务器3以及第二终端5。
其中,第一终端1,用于根据对被测应用程序执行的测试操作生成并上传操作信息,其中,操作信息包括第一终端上用于执行测试操作的界面、在界面上执行测试操作时的操作执行坐标、以及在界面上执行测试操作时与操作执行坐标对应的录制图片。
服务器3,与第一终端1连接,用于保存接收到的操作信息,并在接收到测试请求之后,将对应的操作信息下发至对应的终端;
第二终端5,与服务器3连接,用于发送测试请求,并在接收到服务器下发的操作信息之后,截取第二终端上运行界面时的界面图片,并对界面图片和录制图片进行图片识别,在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
采用本发明,通过第一终端对被测应用程序执行的测试操作生成操作信息,第一终端获取操作信息的过程为录制过程,在该录制过程中不仅记录了执行测试操作的界面和在界面上执行测试操作时的操作执行坐标,还记录了在界面上执行测试操作时与操作执行坐标对应的录制图片,在第二终端上回放该操作信息以完成对被测应用程序的测试之前,即在上述实施例中,在第二终端上对被测应用程序执行测试操作之前,对截取的第二终端上运行界面时的界面图片和录制图片进行图片识别,在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,按照操作回放坐标(而不是在第一终端上录制的操作执行坐标)在第二终端的界面上对被测应用程序执行测试操作,从而在第二终端上进行应用程序的测试时,不依据在第一终端上录制的操作执行坐标执行测试操作,而是通过图片识别获取到操作执行坐标在第二终端上对应的操作回放坐标执行测试操作,在回放过程中不依赖于分辨率和被测应用程序的源码,仅仅使用坐标便可在第二终端上确定准确的测试位置(用操作回放坐标表示该位置),然后按照操作回放坐标在第二终端的界面上执行对被测应用程序的测试操作,解决了现有技术中使用录制回放方法测试软件无法适应不同分辨率的终端,从而导致软件测试结果不准确的问题,实现了准确获取操作执行坐标,从而可以在第二终端上准确执行测试操作,达到获取准确的应用程序的测试结果的效果。
其中,上述实施例中的第一终端1和第二终端5可以是同一用户终端,也即,在上述测试***中,可以在同一用户终端上完成录制操作信息和回放操作信息的测试过程;并且在本发明的上述实施例中,第二终端5的数量可以为一个或多个,也即服务器可以根据不同的第二终端发送的测试请求,将服务器上保存的操作信息下发至对应的一个或多个第二终端。
需要进一步说明的是,在第一终端1上录制操作信息可以先在第一终端1上安装并启动被测应用程序,启动测试被测应用程序的测试时间,具体地通过操作该被测应用程序来实现在第一终端上对被测应用程序的测试。在第一终端1上执行测试操作的过程中记录各个测试操作的界面、在界面上执行测试操作时的操作执行坐标、以及在界面上执行测试操作时与操作执行坐标对应的录制图片。其中,测试操作、界面和操作执行坐标记录在录制脚本中,并且该脚本中保存着测试操作与录制图片之间的关联关系。
上述的测试事件包括一个或多个测试操作,具体地,第二终端发送测试被测应用程序的测试请求至服务器,服务器(如云服务器)在接收到测试请求之后,从数据库中读取对应该测试请求的操作信息,并将该操作信息下发至第二终端,第二终端在接收到服务器返回的操作信息之后,从操作信息中的录制脚本中依次读取测试操作,并通过测试操作和录制图片与操作执行坐标之间的关联关系依次获取对应的录制图片,然后截取第二终端上运行该执行测试操作的界面时的界面图片,并对界面图片和录制图片进行图片识别,在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,判断是否识别完全部的操作执行坐标,在识别完录制脚本中所有的操作执行坐标对应的操作回放坐标之后,按照操作回放坐标在第二终端的界面上依次对被测应用程序执行测试操作。
具体地,第二终端上按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作可以通过实施例一中的方法实现:在第二终端识别到与操作执行坐标对应的操作回放坐标之后,将录制脚本中的操作执行坐标替换为操作回放坐标,得到更新后的录制脚本;然后在第二终端的界面(在上述实施例中为计算界面)上回放更新后的录制脚本,以按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作
其中,上述实施例中的第一终端1和第二终端5可以是基于Android平台的移动终端设备(如手机、平板电脑),可选地可以将本发明的上述测试***应用于Android手机的软件测试中。
例如,在对Android手机的计算器进行测试时,可以在第一终端1(如第一手机)上启动测试事件:第一个测试操作为点击“5”,在录制该测试操作时,记录该点击坐标,即“5”在第一手机的计算界面的坐标(x1,y1),同时截取对应该坐标的录制图片A并获取该录制图片A的地址Da(在实际操作中Da为具体的录制图片A的存储位置的地址数据,此处的Da仅作为地址数据的符号),则在录制脚本中可以记录:click(x1,y1)_Da。在该测试事件包括一个点击动作的情况下,在完成对该点击动作的录制之后,保存录制脚本和录制图片生成操作信息,并将该操作信息上传至服务器3(如云服务器),服务器3在接收到操作信息之后将其保存在服务器3的数据库中。
根据本发明的上述实施例,第二终端5(如第二手机)可以向云服务器发出测试应用程序(如计算器)的测试请求,云服务器在接收到测试请求之后,获取与该测试请求对应的操作信息,并将操作信息下发至请求测试的第二手机,第二手机在接收到云服务器下发的操作信息之后,第二手机上运行已经安装的应用程序(如计算器),截取第二手机上与操作信息中的计算界面对应的界面图片B,然后依次从录制脚本中读取测试操作,假如第一个测试操作为点击“5”,则根据录制脚本中记录的地址Da获取录制图片A,通过本发明方法实施例中的图片识别方法,确定界面图片B中与操作执行坐标(x1,y1)对应的操作回放坐标(x2,y2)之后,按照操作回放坐标(x2,y2)在第二终端的界面上执行点击操作。依据上述对计算器进行测试的实施例,在第二终端的界面上对计算器执行测试操作,即为在第二手机上启动计算器之后的计算界面上点击坐标为(x2,y2)的点,以在第二终端上测试计算器。
在上述实施例中,具有一个测试操作的测试事件仅仅是举例说明,实际对应用程序的测试中,每个测试事件均可以包括一个或多个测试操作,对于每个测试操作均可以使用上述测试方法对第二终端进行应用程序的测试,并且在实际对应用程序的测试中,在获取到与测试事件中所有的操作执行坐标对应的操作回放坐标,并将录制脚本中的所有操作执行坐标全部替换完毕之后,再按照更新后的录制脚本中记录的测试操作的顺序依次按照操作回放坐标在第二终端的界面上对被测应用程序执行测试操作。
如图11所示,本申请上述实施例三中的第一终端1可以包括如下部分:第一处理器101和加密装置103;第二终端5可以包括第二处理器501:解密装置511和实施例二中的任意一种的测试装置513。
其中,第一处理器101,用于在启动第一终端上被测应用程序的测试事件之后,记录在第一终端的界面上执行测试操作时的操作执行坐标,并按照预设截取像素数据在第一终端的界面上截取与操作执行坐标对应的录制图片,然后保存操作执行坐标、界面以及录制图片生成初始操作信息。测试事件可以包括一个或多个测试操作。
加密装置103,与第一处理器101连接,用于将初始操作信息加密为操作信息。
解密装置511,连接于服务器3与测试装置513之间,用于对服务器下发的操作信息进行解密处理得到解密后的操作信息。
根据本发明的上述实施例,在对被测应用程序测试之前,在第一终端1上安装被测应用程序,通过第一处理器101启动在第一终端1上对被测应用程序执行测试操作的测试事件,在启动测试事件之后操作被测应用程序,记录在操作被测应用程序的过程中在第一终端的界面上的操作执行坐标以及与操作执行坐标对应的录制图片,在完成对被测应用程序的录制之后生成录制脚本,其中,录制脚本中包括界面和操作执行坐标以及操作执行坐标与录制图片的关联关系,保存录制脚本和录制图片生成初始操作信息;加密装置103接收到第一处理器101传送过来的初始操作信息之后,对初始操作信息进行加密处理得到操作信息。
上述实施例中的第一终端1还可以包括信息发送装置105,如图2所示,该发送装置105连接于加密装置103与服务器3之间,用于在得到操作信息之后,将该操作信息发送至服务器3。
具体地,上述实施例中的第二终端还可以包括请求发送装置505和信息接收装置507,该请求发送装置与服务器3连接,用于向服务器发送测试请求,服务器3接收到测试请求之后,将与测试请求对应的操作信息发送至对应的第二终端,第二终端5的信息接收装置507接收到服务器返回的操作信息之后,解密装置511对操作信息解密得到解密后的操作信息,第二处理器501根据该解密后的操作信息识别操作回放坐标,并实现在第二终端上对被测应用程序的测试。
可选地,上述实施例三中的信息发送装置105、请求发送装置505和信息接收装置507可以是内置于第一终端1或第二终端5的处理模块,也可以是直接使用第一终端1或第二终端5(如手机、平板电脑)上的网络通讯装置(如,天线)来实现。
上述实施例二中的启动模块50、记录模块60、第二截图模块70、检测模块80以及保存模块90可以设置在第一终端上,第一终端通过上述测试装置中生成操作信息;上述实施例中的信息获取模块10、第一截图模块20、图片识别模块30以及测试执行模块40可以设置在第二处理器503中,第二终端5通过上述的处理模块实现对被测应用程序的测试。
从以上描述中,可以看出本发明实现了如下技术效果:
采用本发明,在第二终端上对被测应用程序执行测试操作的过程中,获取到在第一终端上对被测应用程序执行的操作信息,由于操作信息中不仅包括执行测试操作的界面和在界面上执行测试操作时的操作执行坐标,还包括在界面上执行测试操作时与操作执行坐标对应的录制图片,在第二终端上执行测试操作之前,对截取的第二终端上运行界面时的界面图片和录制图片进行图片识别,并在根据图片识别的结果确定界面图片中与操作执行坐标对应的操作回放坐标之后,按照操作回放坐标(而不是在第一终端上录制的操作执行坐标)在第二终端的界面上对被测应用程序执行测试操作,不依据在第一终端上录制的操作执行坐标执行测试操作,而是通过图片识别获取到操作执行坐标在第二终端上对应的操作回放坐标执行测试操作,在回放过程中不依赖于分辨率和被测应用程序的源码,仅仅使用坐标便可在第二终端上确定准确的测试位置(用操作回放坐标表示该位置),然后按照操作回放坐标在第二终端的界面上执行对被测应用程序的测试操作,解决了现有技术中使用录制回放方法测试软件无法适应不同分辨率的终端,从而导致软件测试结果不准确的问题,实现了准确获取操作执行坐标,从而可以在第二终端上准确执行测试操作,达到获取准确的应用程序的测试结果的效果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种应用程序的测试方法,其特征在于,包括:
获取在第一终端上对被测应用程序执行的操作信息,其中,所述操作信息包括所述第一终端上用于执行测试操作的界面、在所述界面上执行所述测试操作时的操作执行坐标、以及在所述界面上执行所述测试操作时与所述操作执行坐标对应的录制图片;
截取第二终端上运行所述界面时的界面图片;
对所述界面图片和所述录制图片进行图片识别,根据图片识别的结果确定所述界面图片中与所述操作执行坐标对应的操作回放坐标;
按照所述操作回放坐标在所述第二终端的所述界面上对所述被测应用程序执行所述测试操作;
其中,对所述界面图片和所述录制图片进行图片识别,根据图片识别的结果确定所述界面图片中与所述操作执行坐标对应的操作回放坐标包括:在所述界面图片中找到与所述录制图片对应的区域;计算所述区域与所述录制图片的相似度;检测所述相似度是否符合预设阈值;在所述相似度符合所述预设阈值的情况下,根据所述操作执行坐标与所述录制图片的位置关系在所述区域中查找对应的所述操作回放坐标;在所述相似度不符合所述预设阈值的情况下,根据所述操作执行坐标、以及所述第一终端和所述第二终端的分辨率确定所述操作回放坐标。
2.根据权利要求1所述的测试方法,其特征在于,在所述界面图片中找到与所述录制图片对应的区域包括:
通过尺度不变特征变换算法采集所述录制图片和所述界面图片的特征点和特征向量;
对采集到的所述特征点和所述特征向量进行特征匹配计算得到特征信息;
按照预设条件对所述特征信息进行过滤处理得到过滤后的所述特征信息,使用所述过滤后的所述特征信息勾画出所述区域。
3.根据权利要求1所述的测试方法,其特征在于,根据所述操作执行坐标与所述录制图片的位置关系在所述区域中查找对应的所述操作回放坐标包括:
根据所述位置关系确定所述操作执行坐标对应的操作点是否为所述录制图片的第一中心点;
在所述操作点为所述第一中心点的情况下,查找所述区域的第二中心点,所述第二中心点的坐标为所述操作回放坐标;
在所述操作点不为所述第一中心点的情况下,在所述区域内抽取预设个数的回放点;
计算每个所述回放点与所述第二中心点之间的第一距离;
计算所述操作点与所述第一中心点之间的第二距离;
分别计算所述第一距离与所述第二距离的差值得到差值集;
从所述差值集中提取值最小的所述差值;
将所述值最小的所述差值对应的所述回放点的坐标作为所述操作回放坐标。
4.根据权利要求1所述的测试方法,其特征在于,根据所述操作执行坐标、以及所述第一终端和所述第二终端的分辨率确定所述操作回放坐标包括:
获取所述第一终端的第一分辨率和所述第二终端的第二分辨率;
计算所述第一分辨率和所述第二分辨率的倍率;
使用所述倍率对所述操作执行坐标进行分辨率换算得到所述操作回放坐标。
5.根据权利要求1至4中任意一项所述的测试方法,其特征在于,在获取在第一终端上对被测应用程序执行的操作信息之前,所述测试方法包括:
启动在所述第一终端上测试所述被测应用程序的测试事件,其中,所述测试事件包括一个或多个测试操作;
记录在所述第一终端的所述界面上执行所述测试操作时的所述操作执行坐标;
按照预设截取像素数据在所述第一终端的所述界面上截取与所述操作执行坐标对应的所述录制图片;
保存所述操作执行坐标、所述界面以及所述录制图片生成所述操作信息。
6.一种应用程序的测试装置,其特征在于,包括:
信息获取模块,用于获取在第一终端上对被测应用程序执行的操作信息,其中,所述操作信息包括所述第一终端上用于执行测试操作的界面、在所述界面上执行所述测试操作时的操作执行坐标、以及在所述界面上执行所述测试操作时与所述操作执行坐标对应的录制图片;
第一截图模块,用于截取第二终端上运行所述界面时的界面图片;
图片识别模块,用于对所述界面图片和所述录制图片进行图片识别,根据图片识别的结果确定所述界面图片中与所述操作执行坐标对应的操作回放坐标;
测试执行模块,用于按照所述操作回放坐标在所述第二终端的所述界面上对所述被测应用程序执行所述测试操作;
其中,所述图片识别模块包括:区域获取模块,用于在所述界面图片中找到与所述录制图片对应的区域;相似度计算模块,用于计算所述区域与所述录制图片的相似度;检测模块,用于检测所述相似度是否符合预设阈值;第一坐标获取模块,用于在所述相似度符合所述预设阈值的情况下,根据所述操作执行坐标与所述录制图片的位置关系在所述区域中查找对应的所述操作回放坐标;第二坐标获取模块,用于在所述相似度不符合所述预设阈值的情况下,根据所述操作执行坐标、以及所述第一终端和所述第二终端的分辨率确定所述操作回放坐标。
7.根据权利要求6所述的测试装置,其特征在于,所述区域获取模块包括:
特征采集模块,用于通过尺度不变特征变换算法采集所述录制图片和所述界面图片的特征点和特征向量;
特征匹配模块,用于对采集到的所述特征点和所述特征向量进行特征匹配计算得到特征信息;
区域确定模块,用于按照预设条件对所述特征信息进行过滤处理得到过滤后的所述特征信息,使用所述过滤后的所述特征信息勾画出所述区域。
8.根据权利要求6所述的测试装置,其特征在于,所述第一坐标获取模块包括:
位置辨别模块,用于根据所述位置关系确定所述操作执行坐标对应的操作点是否为所述录制图片的第一中心点;
中心点查找模块,用于在所述操作点为所述第一中心点的情况下,查找所述区域的第二中心点,所述第二中心点的坐标为所述操作回放坐标;
抽取模块,用于在所述操作点不为所述第一中心点的情况下,在所述区域内抽取预设个数的回放点;
第一距离计算模块,用于计算每个所述回放点与所述第二中心点之间的第一距离;
第二距离计算模块,用于计算所述操作点与所述第一中心点之间的第二距离;
差值计算模块,用于分别计算所述第一距离与所述第二距离的差值得到差值集;
提取模块,用于从所述差值集中提取值最小的所述差值;
坐标确定模块,用于将所述值最小的所述差值对应的所述回放点的坐标作为所述操作回放坐标。
9.根据权利要求6所述的测试装置,其特征在于,所述第二坐标获取模块包括:
分辨率获取模块,用于获取所述第一终端的第一分辨率和所述第二终端的第二分辨率;
倍率计算模块,用于计算所述第一分辨率和所述第二分辨率的倍率;
坐标换算模块,用于使用所述倍率对所述操作执行坐标进行分辨率换算得到所述操作回放坐标。
10.根据权利要求6至9中任意一项所述的测试装置,其特征在于,所述测试装置包括:
启动模块,用于启动在所述第一终端上测试所述被测应用程序的测试事件,其中,所述测试事件包括一个或多个测试操作;
记录模块,用于记录在所述第一终端的所述界面上执行所述测试操作时的所述操作执行坐标;
第二截图模块,用于按照预设截取像素数据在所述第一终端的所述界面上截取与所述操作执行坐标对应的所述录制图片;
保存模块,用于保存所述操作执行坐标、所述界面以及所述录制图片生成所述操作信息。
11.一种应用程序的测试***,其特征在于,包括:
第一终端,用于根据对被测应用程序执行的测试操作生成并上传操作信息,其中,所述操作信息包括所述第一终端上用于执行测试操作的界面、在所述界面上执行所述测试操作时的操作执行坐标、以及在所述界面上执行所述测试操作时与所述操作执行坐标对应的录制图片;
服务器,与所述第一终端连接,用于保存接收到的所述操作信息,并在接收到测试请求之后,将对应的所述操作信息下发至对应的终端;
第二终端,与所述服务器连接,用于发送所述测试请求,并在接收到所述服务器下发的所述操作信息之后,截取第二终端上运行所述界面时的界面图片,并对所述界面图片和所述录制图片进行图片识别,在根据图片识别的结果确定所述界面图片中与所述操作执行坐标对应的操作回放坐标之后,按照所述操作回放坐标在所述第二终端的所述界面上对所述被测应用程序执行所述测试操作;
其中,所述第一终端包括:第一处理器,用于在启动在所述第一终端上测试所述被测应用程序的测试事件之后,记录在所述第一终端的所述界面上执行测试操作时的所述操作执行坐标,并按照预设截取像素数据在所述第一终端的所述界面上截取与所述操作执行坐标对应的所述录制图片,然后保存所述操作执行坐标、所述界面以及所述录制图片生成初始操作信息;加密装置,与所述第一处理器连接,用于将所述初始操作信息加密为所述操作信息,其中,所述测试事件包括一个或多个测试操作;
所述第二终端包括:第二处理器,所述第二处理器包括解密装置和权利要求6至9中任意一项所述的测试装置;
所述解密装置,连接于所述服务器与所述测试装置之间,用于对所述服务器下发的所述操作信息进行解密处理得到解密后的所述操作信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410063291.9A CN104866414B (zh) | 2014-02-24 | 2014-02-24 | 应用程序的测试方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410063291.9A CN104866414B (zh) | 2014-02-24 | 2014-02-24 | 应用程序的测试方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104866414A CN104866414A (zh) | 2015-08-26 |
CN104866414B true CN104866414B (zh) | 2018-07-06 |
Family
ID=53912260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410063291.9A Active CN104866414B (zh) | 2014-02-24 | 2014-02-24 | 应用程序的测试方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866414B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302413B (zh) * | 2015-10-14 | 2020-11-13 | 惠州Tcl移动通信有限公司 | 控件的ui测试方法及*** |
CN106681898A (zh) * | 2015-11-05 | 2017-05-17 | 广州市动景计算机科技有限公司 | 一种采集应用性能数据的方法及装置 |
CN105389259B (zh) * | 2015-12-11 | 2018-06-22 | 广州华多网络科技有限公司 | 一种进行应用程序测试的方法、装置及*** |
WO2017107173A1 (en) * | 2015-12-25 | 2017-06-29 | Intel Corporation | Technologies for automated application testing coverage and results evaluation |
CN105740153A (zh) * | 2016-02-29 | 2016-07-06 | 网易(杭州)网络有限公司 | 云测试方法及装置 |
CN105740874B (zh) * | 2016-03-04 | 2019-04-16 | 网易(杭州)网络有限公司 | 确定自动化测试脚本回放时的操作坐标的方法及装置 |
CN106021108B (zh) * | 2016-05-19 | 2018-11-20 | 努比亚技术有限公司 | 应用程序测试装置、移动终端及方法 |
CN106354500A (zh) * | 2016-08-26 | 2017-01-25 | 珠海金山网络游戏科技有限公司 | 一种操作指令记录和回放方法及*** |
CN106528420B (zh) * | 2016-11-07 | 2019-04-05 | 中国工商银行股份有限公司 | 一种软件界面的自动化测试方法及装置 |
CN107066379A (zh) * | 2017-01-23 | 2017-08-18 | 广州唯品会信息科技有限公司 | 软件界面兼容性测试方法及*** |
CN107025165B (zh) * | 2017-03-07 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 游戏自动化测试方法及相关装置 |
CN109117358A (zh) * | 2017-06-23 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 用于电子设备的测试方法和测试装置 |
CN107463327B (zh) * | 2017-07-20 | 2019-12-17 | 福建网龙计算机网络信息技术有限公司 | 一种获取界面控件元素位置信息的方法及终端 |
CN109408384B (zh) * | 2018-10-16 | 2022-07-29 | 网易(杭州)网络有限公司 | 软件应用的测试方法、装置、处理器及电子装置 |
CN109445788A (zh) * | 2018-10-24 | 2019-03-08 | 北京赢销通软件技术有限公司 | 一种脚本执行方法及装置 |
CN109710526A (zh) * | 2018-12-24 | 2019-05-03 | 北京云测信息技术有限公司 | 一种基于云服务自动化测试脚本录制回放***及方法 |
CN109783379B (zh) * | 2019-01-03 | 2022-02-08 | 北京云测信息技术有限公司 | 脚本执行异常确定方法和装置 |
CN111522608B (zh) * | 2019-02-03 | 2023-09-22 | 北京数聚鑫云信息技术有限公司 | 一种提高模拟操作的执行速率的方法及装置 |
CN109857674A (zh) * | 2019-02-27 | 2019-06-07 | 上海优扬新媒信息技术有限公司 | 一种录制回放测试方法和相关装置 |
CN110427929B (zh) * | 2019-07-19 | 2023-04-28 | 易诚高科(大连)科技有限公司 | 一种基于多级元素融合的app界面模式识别方法 |
CN110795336A (zh) * | 2019-09-25 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 应用程序的控制方法、装置、设备及可读存储介质 |
CN110837474A (zh) * | 2019-11-13 | 2020-02-25 | 北京博睿宏远数据科技股份有限公司 | 一种脚本录制方法、装置、终端及存储介质 |
CN111124888B (zh) * | 2019-11-28 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 录制脚本的生成方法和装置及电子装置 |
CN111124567B (zh) * | 2019-12-02 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 目标应用的操作录制方法和装置 |
CN110908922A (zh) * | 2019-12-31 | 2020-03-24 | 京东数字科技控股有限公司 | 应用程序的测试方法和装置 |
CN111209215B (zh) * | 2020-02-24 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置、计算机设备及存储介质 |
CN111597116B (zh) * | 2020-05-20 | 2023-06-09 | 浪潮软件集团有限公司 | 移动端ui自动化测试方法、***、存储介质及电子设备 |
CN111629205B (zh) * | 2020-07-28 | 2020-11-20 | 天津美腾科技股份有限公司 | 一种应用于工业相机模拟测试的***和方法 |
CN112100075B (zh) * | 2020-09-24 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 一种用户界面回放方法、装置、设备及存储介质 |
CN112363919B (zh) * | 2020-11-02 | 2024-02-13 | 北京云测信息技术有限公司 | 用户界面ai自动化测试方法、装置、设备和存储介质 |
CN113821447B (zh) * | 2021-10-18 | 2023-05-12 | 四川虹美智能科技有限公司 | Ui随机测试方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268289A (zh) * | 2013-06-18 | 2013-08-28 | 北京云测信息技术有限公司 | 在移动终端上录制应用测试脚本的方法和*** |
CN103365779A (zh) * | 2013-07-09 | 2013-10-23 | 广东欧珀移动通信有限公司 | 软件测试方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5490036B2 (ja) * | 2011-02-14 | 2014-05-14 | 株式会社Nttドコモ | 試験装置 |
-
2014
- 2014-02-24 CN CN201410063291.9A patent/CN104866414B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268289A (zh) * | 2013-06-18 | 2013-08-28 | 北京云测信息技术有限公司 | 在移动终端上录制应用测试脚本的方法和*** |
CN103365779A (zh) * | 2013-07-09 | 2013-10-23 | 广东欧珀移动通信有限公司 | 软件测试方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN104866414A (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104866414B (zh) | 应用程序的测试方法、装置及*** | |
KR101535579B1 (ko) | 증강 현실 인터액션 구현 방법 및 시스템 | |
EP3100210B1 (en) | Dynamically updating a feature database that contains features corresponding to a known target object | |
US10264207B2 (en) | Method and system for creating virtual message onto a moving object and searching the same | |
CN111046752B (zh) | 一种室内定位方法、计算机设备和存储介质 | |
WO2020082258A1 (zh) | 一种多目标实时跟踪方法、装置及电子设备 | |
CN108027884B (zh) | 一种用于监测对象的方法、存储媒体、服务器及设备 | |
CN102324042B (zh) | 视觉识别***及视觉识别方法 | |
US9854208B2 (en) | System and method for detecting an object of interest | |
WO2015048046A1 (en) | Multiview pruning of feature database for object recognition system | |
US20220207266A1 (en) | Methods, devices, electronic apparatuses and storage media of image processing | |
US20210182566A1 (en) | Image pre-processing method, apparatus, and computer program | |
CN111738199B (zh) | 图像信息验证方法、装置、计算装置和介质 | |
CN111832579B (zh) | 地图兴趣点数据处理方法、装置、电子设备以及可读介质 | |
CN107808100B (zh) | 针对特定测试样本的隐写分析方法 | |
US10460200B2 (en) | Apparatus and method of analyzing tool trace, and computer program for executing the method | |
CN113557546B (zh) | 图像中关联对象的检测方法、装置、设备和存储介质 | |
CN110895602B (zh) | 身份验证方法、装置、电子设备及存储介质 | |
CN112233161B (zh) | 手部图像深度确定方法、装置、电子设备及存储介质 | |
CN105095709A (zh) | 在线签字的鉴定方法及*** | |
US11741151B1 (en) | Indexing key frames for localization | |
CN104461857B (zh) | 软件可靠性的检测方法和装置 | |
TW202303451A (zh) | 指甲識別方法、裝置、設備及儲存媒體 | |
JP2009230255A (ja) | 情報提供装置、情報提供方法および情報提供処理プログラム | |
CN111382650A (zh) | 商品购物处理***、方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |