CN117171000A - 一种应用程序app测试方法、装置、电子设备及存储介质 - Google Patents
一种应用程序app测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117171000A CN117171000A CN202210579837.0A CN202210579837A CN117171000A CN 117171000 A CN117171000 A CN 117171000A CN 202210579837 A CN202210579837 A CN 202210579837A CN 117171000 A CN117171000 A CN 117171000A
- Authority
- CN
- China
- Prior art keywords
- test
- app
- layout
- target
- interface
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 606
- 238000010586 diagram Methods 0.000 claims abstract description 182
- 238000000034 method Methods 0.000 claims abstract description 131
- 238000012216 screening Methods 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims description 74
- 230000015654 memory Effects 0.000 claims description 40
- 238000010998 test method Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 27
- 238000012797 qualification Methods 0.000 claims description 23
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 description 47
- 238000012545 processing Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 14
- 238000011161 development Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 235000011888 snacks Nutrition 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请涉及应用程序测试技术领域,尤其涉及一种应用程序APP测试方法、装置、电子设备及存储介质,用以快捷简便地进行APP测试。该方法包括:获取参考APP产生的各参考界面图像,以及待测试APP产生的各测试界面图像;生成各参考界面图像各自对应的参考布局图,以及各测试界面图像各自对应的测试布局图;针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,获得一个测试布局图与目标布局图的比对结果;基于各测试布局图对应的比对结果,获得待测试APP的测试结果,实现快捷简便地进行APP测试的目的。
Description
技术领域
本申请涉及应用程序测试技术领域,尤其涉及一种应用程序APP测试方法、装置、电子设备及存储介质。
背景技术
随着科技与网络的发展,手机、平板等移动终端已经成为生活中不可或缺的设备。移动终端中往往下载多种应用程序(Application,APP),以实现工作娱乐等不同的用途和功能。
对于APP程序而言,在正式上线发行之前对APP进行测试是不可或缺的。以对APP的用户界面(User Interface,UI)进行测试为例,相关技术中,在通过自动化UI测试对APP的用户界面进行测试时,通常需要测试人员等编写复杂的测试代码,例如,需要测试人员等在测试代码中写清楚APP的用户界面中存在的预期控件的名称标识等,然后通过判断APP的用户界面中是否存在该名称标识的预期控件等,来实现对APP的测试。
采用上述方式,至少会存在以下缺陷:
首先,编写测试代码的工作量较大,耗时较长,这样会使得对APP的测试效率较低,从而导致APP的开发周期较长。
其次,需要针对每个APP,分别设置每个APP各自适合的测试代码,且例如某个APP的用户界面中的控件等需要发生改变时,还需要对这个APP适合的测试代码进行调整,测试过程比较繁琐,运维成本较高。
因此,亟需一种可以快捷简便地进行APP测试的技术方案。
发明内容
本申请实施例提供一种应用程序APP测试方法、装置、电子设备及存储介质,用以快捷简便地进行APP测试。
第一方面,本申请实施例提供了一种应用程序APP测试方法,包括:
基于测试数据分别运行参考APP和待测试APP,分别获取所述参考APP产生的各参考界面图像,以及获取所述待测试APP产生的各测试界面图像;所述参考APP和所述待测试APP为同一APP的不同程序版本;
分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图;
针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将所述目标匹配度对应的参考布局图作为目标布局图,以及基于所述目标匹配度,获得所述一个测试布局图与所述目标布局图的比对结果,所述比对结果表征两者是否相同;
基于各测试布局图对应的比对结果,获得所述待测试APP的测试结果。
第二方面,本申请实施例提供了一种应用程序APP测试装置,所述装置包括:
运行模块:用于基于测试数据分别运行参考APP和待测试APP,分别获取所述参考APP产生的各参考界面图像,以及获取所述待测试APP产生的各测试界面图像;所述参考APP和所述待测试APP为同一APP的不同程序版本;
生成模块:用于分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图;
比对模块:用于针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将所述目标匹配度对应的参考布局图作为目标布局图,以及基于所述目标匹配度,获得所述一个测试布局图与所述目标布局图的比对结果,所述比对结果表征两者是否相同;
获取模块:用于基于各测试布局图对应的比对结果,获得所述待测试APP的测试结果。
可选的,所述生成模块具体用于:
分别识别各参考界面图像中包含的各目标控件的类型及位置信息;根据保存的控件类型与颜色值的对应关系,分别确定各目标控件对应的目标颜色值;基于各目标控件对应的目标颜色值及位置信息,分别生成各参考界面图像各自对应的参考布局图;以及,
分别识别各测试界面图像中包含的各目标控件的类型及位置信息;根据保存的控件类型与颜色值的对应关系,分别确定各目标控件对应的目标颜色值;基于各目标控件对应的目标颜色值及位置信息,分别生成各测试界面图像各自对应的测试布局图。
可选的,所述运行模块具体用于:
按照所述测试数据中设置的操作流程,分别运行所述参考APP和所述待测试APP,其中,
在所述参考APP的运行过程中,每呈现一个操作界面,将所述一个操作界面对应的图像,记录为相应的参考界面图像,以及,
在所述待测试APP的运行过程中,每呈现一个操作界面,将所述一个操作界面对应的图像,记录为相应的测试界面图像。
可选的,所述运行模块具体用于:
分别针对所述参考APP和所述待测试APP执行以下操作:
基于所述操作流程的执行逻辑,每呈现一个操作界面,触发所述一个操作界面中包含的至少一个目标控件,并分别呈现相应的下一级操作界面;
其中,所述至少一个目标控件为:所述一个操作界面中的部分目标控件或者全部目标控件。
可选的,所述运行模块具体用于:
对所述参考APP和所述待测试APP各自呈现各操作界面的运行过程进行录屏,分别生成相应的第一视频和第二视频;
按照设定的时间间隔,分别从所述第一视频中提取各第一视频帧,以及从所述第二视频中提取各第二视频帧;
分别对所述各第一视频帧以及各第二视频帧进行筛选处理,并将筛选处理后的各第一视频帧,作为所述各参考界面图像,将筛选处理后的各第二视频帧,作为所述各测试界面图像。
可选的,所述装置还包括:
调整模块,用于针对各测试界面图像分别执行以下操作:分别将各参考界面图像的图像尺寸与一个测试界面图像的图像尺寸调整为相同图像尺寸。
可选的,所述比对模块具体用于:
针对分别位于各个参考布局图的设定位置的第一子布局图,以及位于一个测试布局图的设定位置的第二子布局图,分别确定各个第一子布局图各自与所述第二子布局图之间的匹配度。
可选的,所述比对模块具体用于:
当所述目标匹配度不小于预设的匹配度阈值时,将所述一个测试布局图与所述目标布局图的比对结果确定为相同;
当所述目标匹配度小于预设的匹配度阈值时,将所述一个测试布局图与所述目标布局图的比对结果确定为不同。
可选的,所述获取模块具体用于:
当所述各测试布局图对应的比对结果符合设定的合格条件,则确定所述待测试APP的测试结果为正常;否则,则确定所述待测试APP的测试结果为异常。
可选的,所述比对模块具体用于:
将确定的各匹配度中,取值最大的匹配度,确定为所述目标匹配度;或者,
将确定的各匹配度中,取值大于匹配度阈值的任一匹配度,确定为所述目标匹配度。
第三方面,本申请实施例提供了一种电子设备,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一所述应用程序APP测试方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任一所述应用程序APP测试方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其包括计算机指令,该计算机指令被处理器执行时实现上述任一所述应用程序APP测试方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种应用程序APP测试方法、装置、电子设备及存储介质。本申请可以分别基于参考APP在运行过程中产生的各参考界面图像,生成各参考布局图,并基于待测试APP在运行过程中产生的各测试界面图像,生成各测试布局图,从各参考布局图中,分别确定每个测试布局图各自对应的目标布局图,并获得每个测试布局图与各自对应的目标布局图是否相同的比对结果,基于各测试布局图对应的比对结果,进而获得待测试APP的测试结果。
相比相关技术中需要测试人员等编写复杂的代码,例如需要测试人员等在测试代码中写清楚待测试APP的操作界面中存在的预期控件的名称标识等,然后再通过判断待测试APP的操作界面中是否存在该名称标识的预期控件等,来实现对待测试APP的测试而言:
由于本申请可以分别将各测试布局图与各自对应的目标布局图进行比对,基于各测试布局图与各自对应的目标布局图是否相同的比对结果,来获得待测试APP的测试结果的方式,与待测试APP的操作界面中包含的具体控件等没有直接的强关联关系,因此,一方面,无需测试人员编写复杂的代码,可以提高APP的测试效率,缩短APP的开发周期。
另一方面,本申请的APP测试方法的通用性较高,例如,无论是某一待测试APP的操作界面中的控件等发生改变时,还是需要对其他待测试APP进行测试时,也无论是前端开发人员对APP的操作界面中的控件等发生改变,还是后端测试人员对APP的操作界面中的控件等发生改变时,均可以快捷方便的使用本申请提供的APP测试方法来对待测试APP进行测试,测试过程简便,运维成本较低,从而实现快捷简便地进行APP测试的目的。
另外,由于本申请可以分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像对应的参考布局图,分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图,基于测试布局图和参考布局图进行比对的过程时,可以排除由于电子设备的显色差异等干扰因素对APP测试结果所带来的干扰,可以进一步提高APP的测试结果的准确性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种应用程序测试方法的实施流程图;
图3为本申请实施例提供的一种获取参考界面图像和测试界面图像的实施流程图;
图4为本申请实施例提供的第一种操作界面示意图;
图5为本申请实施例提供的第二种操作界面示意图;
图6为本申请实施例提供的第三种操作界面示意图;
图7为本申请实施例提供的第四种操作界面示意图;
图8为本申请实施例提供的另一种获取参考界面图像和测试界面图像的实施流程图;
图9A为本申请实施例提供的一种参考布局图或测试布局图的示意图;
图9B为本申请实施例提供的另一种参考布局图或测试布局图的示意图;
图10为本申请实施例提供的一种APP测试过程示意图;
图11为本申请实施例提供的另一种APP测试过程示意图;
图12为本申请实施例提供的一种APP测试方法的交互实现时序流程示意图;
图13为本申请实施例提供的一种APP测试方法的具体实施流程示意图;
图14A为本申请实施例提供的一种APP测试方法的具体场景示意图;
图14B为本申请实施例提供的一种测试结果示意图;
图15为本申请实施例提供的一种应用程序测试装置的结构示意图;
图16为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图17为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
应用程序(Application,APP):指为了完成特定任务而被开发的计算机程序,它可以和对象进行交互,具有可视的用户界面(User Interface,UI)等。APP可以在终端设备上运行,APP可以是软件(如浏览器等),也可以是网页、小程序等。APP可以是需要下载安装的APP,也可以是即点即用的APP等。通常情况下,针对同一APP,可以被开发不同程序版本的APP。
测试数据:可应用在APP中,使APP运行的测试用例(运行数据)。测试数据可以用于检查APP是否能够按照预期运行,例如可以用于检查APP运行过程中,呈现的操作界面是否符合预期等。
操作界面:又可称为用户界面(UI),是APP和对象之间进行交互和信息交换的媒介,使得对象能够方便有效地通过操控操作界面以达成双向之交互,完成对象所希望完成的工作。
控件:操作界面中提供的可视化元素等,如文本输入框(Text Box)、按钮控件(Button)、下拉选框(Drop List)、日期/时间控件(Date/Time Picker)、(图片、文件)上传控件(Upload)、列表框(List Box)等都是常见的不同类型的控件。
下面对本申请实施例的设计思想进行简要介绍:
在APP正式上线发行之前,通常需要对APP进行测试。以对APP的用户界面(UserInterface,UI)进行测试为例,相关技术中,在对APP的用户界面进行测试时,通常需要测试人员等编写复杂的测试代码,例如,需要测试人员等在测试代码中写清楚APP的用户界面中存在的预期控件的名称标识等,然后通过判断APP的用户界面中是否存在该名称标识的预期控件等,来实现对APP的测试。
采用上述方式,至少会存在以下缺陷:
首先,编写测试代码的工作量较大,耗时较长,这样会使得对APP的测试效率较低,从而导致APP的开发周期较长。
其次,需要针对每个APP,分别设置每个APP各自适合的测试代码,且例如某个APP的用户界面中的控件等需要发生改变时,还需要对这个APP适合的测试代码进行调整,测试过程比较繁琐,运维成本较高。
由此可见,相关技术中,APP测试效率较低、比较繁琐。
有鉴于此,为了解决相关技术中,APP测试效率较低、比较繁琐的技术问题,本申请提出了一种应用程序(APP)测试方法、装置、电子设备和存储介质。本申请可以分别基于参考APP在运行过程中产生的各参考界面图像,生成各参考布局图,并基于待测试APP在运行过程中产生的各测试界面图像,生成各测试布局图,从各参考布局图中,分别确定每个测试布局图各自对应的目标布局图,并获得每个测试布局图与各自对应的目标布局图是否相同的比对结果,基于各测试布局图对应的比对结果,进而获得待测试APP的测试结果。
相比相关技术中需要测试人员等编写复杂的代码,例如需要测试人员等在测试代码中写清楚待测试APP的操作界面中存在的预期控件的名称标识等,然后再通过判断待测试APP的操作界面中是否存在该名称标识的预期控件等,来实现对待测试APP的测试而言:
由于本申请可以分别将各测试布局图与各自对应的目标布局图进行比对,基于各测试布局图与各自对应的目标布局图是否为相同的比对结果,来获得待测试APP的测试结果的方式,与待测试APP的操作界面中包含的具体控件等没有直接的强关联关系,因此,一方面,无需测试人员编写复杂的代码,可以提高APP的测试效率,缩短APP的开发周期。
另一方面,本申请的APP测试方法的通用性较高,例如,无论是某一待测试APP的操作界面中的控件等发生改变时,还是需要对其他待测试APP进行测试时,均可以快捷方便的使用本申请提供的APP测试方法来对待测试APP进行测试,测试过程简便,运维成本较低,基于此实现快捷简便地进行APP测试的目的。
另外,由于本申请可以分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像对应的参考布局图,分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图,基于测试布局图和参考布局图进行比对的过程时,可以排除由于电子设备的显色差异等干扰因素对APP测试结果所带来的干扰,可以进一步提高APP的测试结果的准确性。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例提供的一种应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。
在本申请实施例中,终端设备110包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有APP测试相关的客户端,该客户端可以是软件(例如浏览器、APP测试的软件等),也可以是网页、小程序等,服务器120则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行APP测试的服务器,本申请不做具体限定。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例中的应用程序测试方法可以由电子设备执行,该电子设备可以为服务器120或者终端设备110,即,该方法可以由服务器120或者终端设备110单独执行,也可以由服务器120和终端设备110共同执行。比如由终端设备110单独执行时,测试人员等可以在终端设备中输入测试数据,终端设备110可以基于测试数据分别运行参考APP和待测试APP(参考APP和待测试APP为同一APP的不同程序版本),分别获取参考APP产生的各参考界面图像,以及获取待测试APP产生的各测试界面图像;终端设备110分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,并分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图;终端设备110针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,并基于目标匹配度,获得这一个测试布局图与目标布局图的比对结果,该比对结果表征两者是否相同;终端设备110可以基于各测试布局图对应的比对结果,获得待测试APP的测试结果。
再示例性的,本申请实施例中的应用程序测试方法比如由服务器120和终端设备110共同执行时,参考APP和待测试APP可以安装在终端设备110中,其中,参考APP和待测试APP可以安装在同一个终端设备110中,也可以安装在不同的终端设备110中,对此不作具体限定。测试人员等可以在终端设备110中输入测试数据,终端设备110基于测试数据分别运行参考APP和待测试APP,服务器120分别获取参考APP产生的各参考界面图像,并分别获取待测试APP产生的各测试界面图像。服务器120分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,并分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。服务器120针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,并基于目标匹配度,获得这一个测试布局图与目标布局图的比对结果,该比对结果表征两者是否相同。服务器120可以基于各测试布局图对应的比对结果,获得待测试APP的测试结果。
在一种可选的实施方式中,终端设备110与服务器120之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络可以是有线网络或无线网络。
需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,当服务器的数量为多个时,多个服务器可组成为一区块链,而服务器为区块链上的节点;如本申请实施例所公开的应用程序测试方法,其中所涉及的测试数据、比对结果等数据可保存于区块链上。
此外,本申请实施例可应用于各种场景,不仅包括APP测试场景,还包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的应用程序(APP)测试方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图2所示,其为本申请实施例提供的一种应用程序测试方法的实施流程图,该方法的具体实施流程如下:
S21:基于测试数据分别运行参考APP和待测试APP,分别获取参考APP产生的各参考界面图像,以及获取待测试APP产生的各测试界面图像;参考APP和待测试APP为同一APP的不同程序版本。
在一种可能的实施方式中,针对某一应用程序,如果开发人员等开发出来新的程序版本,可以将该新的程序版本作为该应用程序的待测试APP,对该待测试APP进行测试。可选的,在对待测试APP进行测试时,可以基于某一参考APP来对待测试APP进行测试。其中,参考APP可以是与待测试APP属于同一应用程序但不同程序版本的APP,示例性的,参考APP可以是当前线上运行稳定的APP,也可以是开发人员开发的专门用于对待测试APP进行测试的APP等,本申请对此不做具体限定。
考虑到即使是同一程序版本的APP,基于不同的测试数据运行时,呈现的操作界面可能也有所不同,例如,以可以订购外卖的APP为例,如果对象所在的位置在廊X,该APP呈现的操作界面中可能包含有廊X的特色小吃,如果对象所在的位置在北X,该APP呈现的操作界面中可能包含有北X的特色小吃。为了排除由于测试数据的不同而对参考APP和待测试APP的操作界面所带来不同的干扰,可以基于相同的测试数据来分别运行参考APP和待测试APP。
具体的,电子设备在基于测试数据运行参考APP时,可以获取参考APP在运行过程中产生的各操作界面各自对应的图像(为方便描述,称为参考界面图像)。同样的,电子设备在基于测试数据运行待测试APP时,也可以获取待测试APP在运行过程中产生的各操作界面各自对应的图像(为方便描述,称为测试界面图像)。
在一种可能的实施方式中,可以按照如图3所示的流程图实施S21,参阅图3所示,其为本申请实施例提供的一种获取参考界面图像和测试界面图像的实施流程图,该方法的具体实施流程如下:
S211:按照测试数据中设置的操作流程,分别运行参考APP和待测试APP。
在一种可能的实施方式中,测试数据中可以设置有操作流程,其中操作流程可以根据需求灵活设置,本申请对此不做具体限定。在一种可能的实施方式中,操作流程可以包括:若识别到APP被开始运行,可以按照预设的该APP中包含的各操作界面的优先级先后顺序,依次呈现各操作界面等。电子设备可以按照测试数据中设置的操作流程,自动智能化地分别运行参考APP和待测试APP。
在一种可能的实施方式中,为了快捷灵活地运行参考APP和待测试APP,电子设备可以基于操作流程的执行逻辑,来自动智能化地运行参考APP和待测试APP。可选的,电子设备可以基于操作流程的执行逻辑,在每呈现一个操作界面时,自动智能化地触发这一个操作界面中包含的至少一个目标控件(如操作按钮),并可以在每触发一个目标控件时,分别呈现与这一个目标控件相应的下一级操作界面,从而可以将待呈现的每个操作界面均自动智能化呈现出来,实现快捷灵活地运行参考APP和待测试APP的目的。其中,为方便描述,将操作界面中包含的控件称为目标控件。
示例性的,参阅图4,其为本申请实施例提供的第一种操作界面示意图,电子设备可以智能化地分别触发操作界面中包含的每个目标控件(如操作按钮)。示例性的,以电子设备触发了“小程序”目标控件为例,呈现的下一级操作界面可以是APP中包含的各小程序的操作界面,以电子设备又进而触发了“XX业务”这个小程序的目标控件为例,可以进而呈现显示有信息确认提示的操作页面。
电子设备触发的一个操作界面中包含的至少一个目标控件,可以是一个操作界面中的部分目标控件,如可以每呈现一个操作界面,从呈现的这一个操作界面包含的目标控件中,随机的分别触发设定数量比例的部分目标控件等。其中,设定数量比例可以根据需求灵活选择,本申请对此不作具体限定。
另外,电子设备触发的一个操作界面中包含的至少一个目标控件,还可以是一个操作界面中包含的全部目标控件,即可以每呈现一个操作界面,电子设备分别触发呈现的这一个操作界面中包含的每个目标控件。
本申请对电子设备触发一个操作界面中包含的目标控件的先后顺序不作具体限定,可以根据需求灵活设置。例如可以按照随机顺序,随机的分别触发每个目标控件。也可以按照设定的先后顺序,依次分别触发每个目标控件,示例性的,可以按照先上后下,先左后右的顺序,依次分别触发每个目标控件等。
由于本申请电子设备可以在参考APP和待测试APP的运行过程中,每呈现一个操作界面时,智能化地触发呈现的这一个操作界面中包含的至少一个目标控件,并进而分别呈现相应的下一级操作界面,有利于快捷智能化地获取到参考APP在运行过程中产生的各参考界面图像,以及获取到待测试APP在运行过程中产生的各测试界面图像,进而有利于快捷准确地对待测试APP进行测试。
在一种可能的实施方式中,一个APP中可能包含多个业务类型,例如以某个包含外卖的APP来说,可能不仅包含外卖这一个业务类型,还可能包含买药、手机充值、生活缴费等多个业务类型。以本来只需要测试APP中的其中某一个或某几个业务类型相应的操作界面为例,如果将APP中包含的所有操作界面均进行测试的话,不仅会降低测试效率,增加测试成本,同时还可能会降低测试准确性。为了提高测试效率及准确性,每呈现一个操作界面,触发这一个操作界面中包含的至少一个目标控件时,可以是触发这一个操作界面中包含的设定业务类型的目标控件、归属于预设白名单的目标控件、位于设定界面位置的目标控件中的至少一种目标控件。其中,设定业务类型、预设白名单、设定界面位置等均可以根据需求灵活设置,本申请对此不做具体限定。
在一种可能的实施方式中,测试人员可以预先设置APP中包含的每个业务类型与相应的目标控件之间的对应关系,并将该对应关系保存在电子设备中。参阅图5,其为本申请实施例提供的第二种操作界面示意图,电子设备在每呈现一个操作界面时,均可以基于保存的每个业务类型与相应的目标控件之间的对应关系,确定在呈现的这一个操作界面中,与设定业务类型对应的目标控件,进而可以分别触发这一个操作界面中包含的设定业务类型的各目标控件,并可以在每触发一个目标控件后,分别呈现与触发的这一个目标控件相应的下一级操作界面,从而实现将APP中包含的设定业务类型的操作界面分别呈现出来的目的。
再示例性的,为了提高测试效率及准确性,测试人员还可以预先设置APP中归属于预设白名单的每个目标控件,并将预设白名单保存在电子设备中。请再次参阅图5,电子设备在每呈现一个操作界面时,均可以基于该预设白名单,确定在呈现的这一个操作界面中,归属于预设白名单的各目标控件,进而可以分别触发这一个操作界面中归属于预设白名单的各目标控件,并可以在每触发一个目标控件后,分别呈现与触发的这一个目标控件相应的下一级操作界面,从而实现将APP中归属于预设白名单的目标控件相应的操作界面分别呈现出来的目的。
当然,测试人员也可以预先设置APP中归属于预设黑名单的每个目标控件,并将预设黑名单保存在电子设备中,电子设备可以将除黑名单中包含的目标控件之外的其他目标控件,均确定为归属于白名单的目标控件,在每呈现一个操作界面时,基于该白名单,确定在呈现的这一个操作界面中,归属于白名单的各目标控件,在此不再赘述。
再示例性的,请再次参阅图5,为了提高测试效率及准确性,电子设备可以只触发操作界面中设定界面位置的目标控件,其中设定界面位置可以根据需求灵活设置。示例性的,参阅图6,其为本申请实施例提供的第三种操作界面示意图,设定界面位置可以为:位于操作界面的左上1/4子区域位置、右上1/4子区域位置、左下1/4子区域位置、右下1/4子区域位置等,而且针对不同操作界面,设定的设定界面位置可以相同,也可以不同,本申请对此不做具体限定。示例性的,参阅图7,其为本申请实施例提供的第四种操作界面示意图,以针对每个操作界面设置的设定界面位置均为左上1/4子区域位置为例,每呈现一个操作界面,电子设备可以分别触发这一个操作界面中,位于操作界面的左上1/4子区域位置的各目标控件,并可以在每触发一个目标控件后,呈现相应的下一级操作界面,从而实现将设定界面位置的目标控件相应的操作界面呈现出来的目的。例如,请参阅图7,可以触发位于操作界面的左上1/4子区域位置中的“电视剧”目标控件,可以进而呈现电视剧分类的操作界面,可以继而在呈现的电视剧分类的操作界面中,分别触发位于该操作界面的左上1/4子区域位置的各目标控件,从而实现将设定界面位置的目标控件相应的操作界面呈现出来的目的,在此不再赘述。
可选的,触发的操作界面中的至少一个目标控件还可以是设定业务类型且归属于预设白名单的目标控件,还可以是设定业务类型且位于设定界面位置的目标控件,还可以是归属于预设白名单且位于设定界面位置的目标控件等,还可以是设定业务类型且归属于预设白名单且位于设定界面位置的目标控件,可以根据需求灵活设置。
示例性的,以触发的操作界面中的至少一个目标控件为设定业务类型且归属于预设白名单的目标控件为例,在每呈现一个操作界面时,可以在确定这一个操作界面中包含的设定业务类型的目标控件(为方便描述,称为第一目标控件)后,再进一步确定第一目标控件中,归属于预设白名单的目标控件,然后将第一目标控件中归属于预设白名单的目标控件,确定为需要触发的目标控件。当然,也可以先确定这一个操作界面中归属于预设白名单的目标控件(为方便描述,称为第二目标控件),再进一步确定第二目标控件中,设定业务类型的目标控件,将第二目标控件中,设定业务类型的目标控件,确定为需要触发的目标控件。
再示例性的,以触发的操作界面中的至少一个目标控件为设定业务类型且位于设定界面位置的目标控件为例,在每呈现一个操作界面时,可以在确定这一个操作界面中包含的设定业务类型的目标控件(为方便描述,称为第一目标控件)后,再进一步确定第一目标控件中,位于设定界面位置的目标控件,然后将第一目标控件中位于设定界面位置的目标控件,确定为需要触发的目标控件。当然,也可以先确定这一个操作界面中位于设定界面位置的目标控件(为方便描述,称为第三目标控件),再进一步确定第三目标控件中,设定业务类型的目标控件,将第三目标控件中,设定业务类型的目标控件,确定为需要触发的目标控件。
再示例性的,以触发的操作界面中的至少一个目标控件为归属于预设白名单且位于设定界面位置的目标控件为例,在每呈现一个操作界面时,可以在确定这一个操作界面中归属于预设白名单的目标控件(为方便描述,称为第二目标控件)后,再进一步确定第二目标控件中,位于设定界面位置的目标控件,然后将第二目标控件中位于设定界面位置的目标控件,确定为需要触发的目标控件。当然,也可以先确定这一个操作界面中位于设定界面位置的目标控件(为方便描述,称为第三目标控件),再进一步确定第三目标控件中,归属于预设白名单的目标控件,将第三目标控件中,归属于预设白名单的目标控件,确定为需要触发的目标控件。
再示例性的,以触发的操作界面中的至少一个目标控件为:设定业务类型且归属于预设白名单且位于设定界面位置的目标控件为例,在每呈现一个操作界面时,可以确定这一个操作界面中,既是设定业务类型的目标控件,又归属于预设白名单,同时又位于设定界面位置的目标控件,将既是设定业务类型的目标控件,又归属于预设白名单,同时又位于设定界面位置的目标控件,确定为需要触发的目标控件,在此不再赘述。
由于本申请可以只触发操作界面中符合设定要求的目标控件,从而将符合设定要求的目标控件相应的操作界面呈现出来,以对待测试APP进行测试,相比将APP中包含的所有的操作界面均呈现出来对待测试APP进行测试而言,可以提高APP测试的精准度以及测试效率。
S212:在参考APP的运行过程中,每呈现一个操作界面,将一个操作界面对应的图像,记录为相应的参考界面图像,以及,
在待测试APP的运行过程中,每呈现一个操作界面,将一个操作界面对应的图像,记录为相应的测试界面图像。
在一种可能的实施方式中,为了获取参考APP在运行过程中的各参考界面图像,可以在参考APP的运行过程中,每呈现一个操作界面,将呈现的这一个操作界面对应的图像,记录为相应的参考界面图像。可选的,电子设备可以识别到是否呈现了操作界面,每识别到呈现一个操作界面时,电子设备可以对呈现的这一个操作界面进行截图或者拍照等,从而获取到这一个操作界面对应的图像,并将这一个操作界面对应的图像,记录为相应的参考界面图像。可选的,在记录参考界面图像时,可以设置参考界面图像的标识信息,示例性的,参考界面图像的标识信息可以包括:数字、字母、符号等,可以根据需求灵活设置,本申请对此不做具体限定。
在一种可能的实施方式中,可以按照与获取参考APP在运行过程中产生的各参考界面图像的方式,来获取待测试APP在运行过程中产生的各测试界面图像。具体的,可以在待测试APP的运行过程中,每呈现一个操作界面,可以将呈现的这一个操作界面对应的图像,记录为相应的测试界面图像。示例性的,电子设备可以识别到是否呈现了操作界面,每识别到呈现一个操作界面时,电子设备可以对呈现的这一个操作界面进行截图或者拍照等,从而获取到这一个操作界面对应的图像,并将这一个操作界面对应的图像,记录为相应的测试界面图像。可选的,在记录测试界面图像时,也可以设置测试界面图像的标识信息,示例性的,测试界面图像的标识信息也可以包括:数字、字母、符号等,在此不再赘述。
由于本申请可以在参考APP的运行过程中,每呈现一个操作界面,将一个操作界面对应的图像,记录为相应的参考界面图像,并可以在待测试APP的运行过程中,每呈现一个操作界面,将一个操作界面对应的图像,记录为相应的测试界面图像,从而可以快捷准确地获取到各参考界面图像以及各测试界面图像。
在一种可能的实施方式中,还可以按照图8所示实施S212,参阅图8所示,其为本申请实施例提供的另一种获取参考界面图像和测试界面图像的实施流程图,该方法的具体实施流程如下:
S2121:对参考APP和待测试APP各自呈现各操作界面的运行过程进行录屏,分别生成相应的第一视频和第二视频。
具体的,在按照测试数据中设置的操作流程,运行参考APP时,可以对参考APP呈现各操作界面的运行过程进行录屏。可选的,电子设备可以在呈现第一个操作界面之前即开始录屏,在呈现最后一个操作界面之后结束录屏等,并可以在结束录屏后,将录屏生成的视频作为参考APP相应的视频(为方便描述,称为第一视频)。
同样的,在按照测试数据中设置的操作流程,运行待测试APP时,可以对待测试APP呈现各操作界面的运行过程进行录屏。可选的,电子设备可以在呈现第一个操作界面之前即开始录屏,在呈现最后一个操作界面之后结束录屏等,并可以在结束录屏后,将录屏生成的视频作为待测试APP相应的视频(为方便描述,称为第二视频)。
S2122:按照设定的时间间隔,分别从第一视频中提取各第一视频帧,以及从第二视频中提取各第二视频帧。
在一种可能的实施方式中,可以针对第一视频,按照设定的时间间隔,每隔设定的时间间隔,从第一视频中提取一个视频帧,将第一视频进行分帧处理,从而得到各第一视频帧(为方便描述,将从第一视频中提取的视频帧称为第一视频帧)。
同样的,针对第二视频,也可以按照设定的时间间隔,每隔设定的时间间隔,从第二视频中提取一个视频帧,将第二视频进行分帧处理,从而得到各第二视频帧(为方便描述,将从第二视频中提取的视频帧称为第二视频帧)。
具体的,时间间隔可以根据需求灵活设置,本申请对此不做具体限定。示例性的,时间间隔可以是1/6秒等。
S2123:分别对各第一视频帧以及各第二视频帧进行筛选处理,并将筛选处理后的各第一视频帧,作为各参考界面图像,将筛选处理后的各第二视频帧,作为各测试界面图像。
在一种可能的实施方式中,提取到各第一视频帧以及各第二视频帧之后,考虑到各第一视频帧中可能有重复的视频帧或者与APP运行过程无关的噪音视频帧(如电子设备的主界面等),可以对各第一视频帧以及各第二视频帧进行筛选处理,并将筛选处理后的各第一视频帧,作为各参考界面图像。将筛选处理后的各第二视频帧,作为各测试界面图像。
在一种可能的实施方式中,对第一视频帧进行筛选处理时,可以是去除各第一视频帧中的重复视频帧,还可以是去除各第一视频帧中的设定噪音视频帧,还可以是将各第一视频帧中的重复视频帧和设定噪音视频帧均去除等。
其中,在去除各第一视频帧中的重复视频帧时,可以是针对各第一视频帧分别执行以下操作:分别确定一个第一视频帧与其他各第一视频帧两两之间的匹配度,然后将匹配度高于设定的匹配度阈值的各第一视频帧,均作为相似的视频帧,聚类为一个视频帧组。示例性的,以第一视频帧分别为视频帧A、视频帧B、视频帧C、视频帧D、视频帧E为例,针对视频帧A,可以分别确定视频帧A与B、视频帧A与C、视频帧A与D、视频帧A与E之间的匹配度,假设视频帧A与B之间的匹配度超过设定的匹配度阈值,则可将视频帧A和视频帧B聚类为一个视频帧组。
可以对每个视频帧组中的视频帧进行去重,去重后,每个视频帧组中可以只留下其中的一个视频帧。可选的,针对每个视频帧组,可以随机地留下其中的一个视频帧,也可以留下分辨率最高的视频帧等,本申请对此不做具体限定。
在一种可能的实施方式中,在去除各第一视频帧中的设定噪音视频帧时,可以预先保存设定的噪音图像(如电子设备的主界面的图像等),可以将各第一视频帧分别与设定噪音图像进行比对,将与设定噪音图像的匹配度超过设定阈值的视频帧,作为噪音视频帧,进而将确定的噪音视频帧进行删除(去除)。
同样的,对第二视频帧进行筛选处理时,也可以是去除各第二视频帧中的重复视频帧,还可以是去除各第二视频帧中的设定噪音视频帧,还可以是将各第二视频帧中的重复视频帧和设定噪音视频帧均去除等。
其中,对第一视频帧进行筛选处理的过程与对第二视频帧进行筛选处理的过程类似,在此不再赘述。
由于本申请可以去除各第一视频帧中的重复视频帧和噪音视频帧,并可以去除各第二视频帧中的重复视频帧和噪音视频帧,从而可以使得获得的各参考界面图像中没有重复视频帧或与APP运行过程无关的噪音视频帧,获得的各测试界面图像中也没有重复视频帧或与APP运行过程无关的噪音视频帧,可以进一步准确地确定各测试界面图像对应的比对结果,进一步提高对待测试APP的测试准确性。
另外,由于本申请可以对参考APP和待测试APP各自呈现各操作界面的运行过程进行录屏,分别生成相应的第一视频和第二视频;基于第一视频中包含的各视频帧,确定参考APP产生的各参考界面图像,以及基于第二视频中包含的各视频帧,确定待测试APP产生的各测试界面图像时,可以快捷简便准确的获取到各参考界面图像以及各测试界面图像。
S22:分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
可选的,操作界面通常是由若干个控件组成的,考虑到可能会存在由于电子设备显色差异等外在原因,导致即使是同一个控件,在测试界面图像和参考界面图像中的显色(颜色)也可能存在不同,后续如果直接将测试界面图像与参考界面图像进行比对时,可能会因为显色差异等外在原因(干扰因素),而误以为测试界面图像与参考界面图像存在差异,从而影响APP的测试结果的准确性。为了提高APP测试的准确性,在一种可能的实施方式中,可以先分别识别各参考界面图像中包含的各目标控件的位置信息,然后基于该位置信息,生成各参考界面图像各自包含的目标控件的位置信息布局图(为方便描述,将参考界面图像包含的目标控件的位置信息布局图称为参考布局图)。示例性的,参阅图9A,其为本申请实施例提供的一种参考布局图或测试布局图的示意图,以某个参考界面图像中包含的各目标控件分别为:包含3个控件A、4个控件B、2个控件C为例,可以直接按照各目标控件在参考界面图像中的位置信息,在参考布局图中相应的位置处标出各目标控件的标识信息,从而生成该参考界面图像对应的参考布局图。
可选的,针对同一个目标控件,该目标控件在参考界面图像中的位置信息(相对位置)与其在相应的参考布局图中的位置信息(相对位置)可以相同。例如,针对一个目标控件,如果该目标控件在参考界面图像中的位置信息为位于参考界面图像的左上1/4子区域位置,则该目标控件在该参考界面图像对应的参考布局图中,也可以位于该参考布局图的左上1/4子区域位置。可选的,参考界面图像的图像尺寸与对应的参考布局图的图像尺寸可以相同,也可以不同,可以根据需求灵活设置。另外,本申请对目标控件的标识信息不作具体限定,可以根据需求灵活设置,例如可以是控件的名称标识或者类型标识等。
可选的,生成各测试界面图像各自对应的测试布局图的过程与生成各参考界面图像各自对应的参考布局图的过程类似,例如,可以先分别识别各测试界面图像中包含的各目标控件的位置信息,然后基于该位置信息,生成各测试界面图像各自包含的目标控件的位置信息布局图(为方便描述,将测试界面图像包含的目标控件的位置信息布局图称为测试布局图)。例如,也可以直接按照各目标控件在测试界面图像中的位置信息,在测试布局图中相应的位置处标出各目标控件的标识信息,从而生成该测试界面图像对应的测试布局图。可选的,针对同一个目标控件,该目标控件在测试界面图像中的位置信息(相对位置)与其在相应的测试布局图中的位置信息(相对位置)可以相同。例如,针对一个目标控件,如果该目标控件在测试界面图像中的位置信息为位于测试界面图像的左上1/4子区域位置,则该目标控件在该测试界面图像对应的测试布局图中,也可以位于该测试布局图的左上1/4子区域位置。可选的,测试界面图像的图像尺寸与该测试界面图像对应的测试布局图的图像尺寸可以相同,也可以不同,可以根据需求灵活设置。
在一种可能的实施方式中,为了快捷准确地生成参考布局图并快捷准确地进行后续将测试布局图与参考布局图进行比对的过程,还可以采用以下方式生成各参考界面图像各自对应的参考布局图。下面先以生成其中一个参考界面图像对应的参考布局图为例进行介绍,生成其他参考界面图像对应的参考布局图的过程类似,在此不再赘述。
在一种可能的实施方式中,测试人员等可以预先设置控件类型与颜色值的对应关系,并将该对应关系保存在电子设备中,其中,本申请对控件类型以及控件类型与颜色值的对应关系等不作具体限定,示例性的,控件类型可以包括文本输入框(Text Box)、按钮控件(Button)、下拉选框(Drop List)、日期/时间控件(Date/Time Picker)、(图片、文件)上传控件(Upload)、列表框(List Box)等任意控件类型。控件类型与颜色值的对应关系可以包括:文本输入框与红色的对应关系、日期/时间控件与蓝色的对应关系、列表框与绿色的对应关系等。
在生成参考界面图像对应的参考布局图时,电子设备可以先识别参考界面图像中包含的各目标控件的类型及位置信息,然后根据保存在电子设备中的控件类型与颜色值的对应关系,分别确定各目标控件各自对应的目标颜色值,并可以基于各目标控件对应的目标颜色值及位置信息,生成该参考界面图像对应的参考布局图。示例性的,参阅图9B,其为本申请实施例提供的另一种参考布局图或测试布局图的示意图,仍以某个参考界面图像中包含的各目标控件分别为:包含3个控件A、4个控件B、2个控件C为例,则可以先按照各目标控件各自在参考界面图像中的位置信息,确定各目标控件各自在参考布局图中相应的位置信息,然后在参考布局图中,将各目标控件各自所在的子区域位置填充为对应的目标颜色值。例如假设控件A对应的目标颜色值为红色、控件B对应的目标颜色值为蓝色、控件C对应的目标颜色值为绿色,则可以将控件A所在的子区域位置均填充为红色,将控件B所在的子区域位置均填充为蓝色,将控件C所在的子区域位置均填充为绿色,从而生成该参考界面图像对应的参考布局图。
可选的,生成各测试界面图像各自对应的测试布局图的过程与生成各参考界面图像各自对应的参考布局图的过程类似,例如,在生成测试界面图像对应的测试布局图时,电子设备也可以先识别测试界面图像中包含的各目标控件的类型及位置信息,然后根据保存在电子设备中的控件类型与颜色值的对应关系,分别确定各目标控件各自对应的目标颜色值,并可以基于各目标控件对应的目标颜色值及位置信息,生成该测试界面图像对应的测试布局图。示例性的,可以先按照各目标控件各自在测试界面图像中的位置信息,确定各目标控件各自在测试布局图中相应的位置信息,然后在测试布局图中,将各目标控件各自所在的子区域位置填充为对应的目标颜色值,从而生成该测试界面图像对应的测试布局图,在此不再赘述。
由于本申请可以基于保存的控件类型与颜色值的对应关系,生成各参考界面图像各自对应的参考布局图以及各测试界面图像各自对应的测试布局图,由于生成的参考布局图和测试布局图是基于统一的控件类型与颜色值的对应关系确定的,因而针对同一控件,其在参考布局图和测试布局图中的颜色值是相同的,后续在进行将测试布局图与参考布局图中的目标布局图进行比对时,可以排除由于电子设备的显色差异等干扰因素对APP测试结果所带来的干扰,从而可以进一步提高APP的测试结果的准确性。
S23:针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,以及基于目标匹配度,获得这一个测试布局图与目标布局图的比对结果,该比对结果表征两者是否相同。
可选的,确定了各参考布局图和各测试布局图后,针对各个测试布局图可以分别执行如下类似相同的操作。为方便描述,下面以针对其中一个测试布局图为例进行解释说明。
可以先分别确定各个参考布局图各自与其中一个测试布局图之间的匹配度。示例性的,假设各参考布局图分别为A、B、C,其中一个测试布局图为M,可以分别确定参考布局图A与测试布局图M之间的匹配度、参考布局图B与测试布局图M之间的匹配度、参考布局图C与测试布局图M之间的匹配度。也就是说,可以确定每个参考布局图与每个测试布局图两两之间的匹配度。可选的,可以采用Hash算法等,确定图像之间的匹配度,示例性的,Hash算法可以通过获取图像(视频帧)的Hash值,再通过比较两张图像的Hash值之间的汉明距离,来度量两张图像是否匹配(相似)。两张图像越匹配,两张图像的Hash值之间的汉明距离越小,匹配度越高。
在一种可能的实施方式中,考虑到可能只需要对比参考布局图中的部分区域与测试布局图的部分区域是否相同,而并无需对比整张参考布局图与整张测试布局图之间是否相同,为了增加确定参考布局图与测试布局图之间的匹配度的灵活性,以及提高确定的匹配度的精准性,可以只针对参考布局图中设定位置的子布局图(为方便描述,将参考布局图中设定位置的子布局图称为第一子布局图)与测试布局图的设定位置的子布局图(为方便描述,将测试布局图中设定位置的子布局图称为第二子布局图),只通过比较第一子布局图与第二子布局图,将第一子布局图与第二子布局图之间的匹配度,确定为参考布局图像与测试布局图之间的匹配度。其中,设定位置可以根据需求灵活设置,且参考布局图的设定位置与测试布局图的设定位置可以相同,也可以不同,本申请对此不作具体限定。
示例性的,可以是先针对位于某个参考布局图的左下1/4子区域位置的第一子布局图,以及位于测试布局图的左下1/4子区域位置的第二子布局图,确定该第一子布局图与该第二子布局图之间的匹配度,将该匹配度作为该参考布局图与该测试布局图之间的匹配度。
由于本申请可以确定第一子布局图与第二子布局图之间的匹配度,相较于只能确定整张参考布局图与整张测试布局图之间的匹配度而言,可以增加确定匹配度的灵活性,提高确定的匹配度的精准性,并进而可以提高APP测试结果的准确性。
在一种可能的实施方式中,确定了各个参考布局图各自与其中一个测试布局图之间的匹配度之后,可以将符合预设筛选条件的匹配度作为目标匹配度,并将目标匹配度对应的参考布局图作为目标布局图。
可选的,在将符合预设筛选条件的匹配度作为目标匹配度时,可以是将确定的各匹配度中,取值最大的匹配度,确定为目标匹配度。示例性的,假设各参考布局图分别为A、B、C,其中一个测试布局图为M,其中参考布局图A与测试布局图M之间的匹配度(为方便描述,称为第一匹配度)为0.99,参考布局图B与测试布局图M之间的匹配度(为方便描述,称为第二匹配度)为0.9,参考布局图C与测试布局图M之间的匹配度(为方便描述,称为第三匹配度)为0.8,则可以将0.99,确定为目标匹配度,并进而可以将相应的参考布局图A,作为目标布局图。
可选的,在将符合预设筛选条件的匹配度作为目标匹配度时,还可以是将确定的各匹配度中,取值大于匹配度阈值的任一匹配度,确定为目标匹配度。示例性的,假设各参考布局图分别为A、B、C,其中一个测试布局图为M,其中参考布局图A与测试布局图M之间的匹配度(为方便描述,称为第一匹配度)为0.99,参考布局图B与测试布局图M之间的匹配度(为方便描述,称为第二匹配度)为0.9,参考布局图C与测试布局图M之间的匹配度(为方便描述,称为第三匹配度)为0.8。假设预设的匹配度阈值为0.88,则可以将0.99或者0.9确定为目标匹配度。如果将0.99确定为目标匹配度,则可以将相应的参考布局图A,作为目标布局图。如果将0.9确定为目标匹配度,则可以将相应的参考布局图B,作为目标布局图。
在一种可能的实施方式中,确定了一个测试布局图相应的目标布局图后,可以将这一个测试布局图与相应的目标布局图进行对比,获取这一个测试布局图与相应的目标布局图是否相同。
由于本申请可以将确定的各匹配度中,取值最大的匹配度,确定为目标匹配度;或者,将取值大于匹配度阈值的任一匹配度,确定为目标匹配度,将基于该方式确定的目标匹配度对应的参考布局图作为目标布局图时,测试布局图与相应的目标布局图为触发相同的目标控件而呈现的操作界面的图像的可能性更高,两者之间的可比性更强,基于测试布局图与该目标布局图是否相同的比对结果,确定待测试APP的测试结果,可以进一步提高测试结果的准确性。
在一种可能的实施方式中,可以基于一个测试布局图与相应的目标布局图之间的目标匹配度,来确定一个测试布局图与相应的目标布局图的比对结果。
示例性的,可以是当目标匹配度不小于(大于等于)预设的匹配度阈值时,将一个测试布局图与相应的目标布局图的比对结果确定为相同。而当目标匹配度小于预设的匹配度阈值时,将一个测试布局图与相应的目标布局图的比对结果确定为不同。其中,匹配度阈值可以需求灵活设置,本申请对此不做具体限定。示例性的,假设目标布局图为A,目标布局图与测试布局图M之间的目标匹配度为0.99,匹配度阈值为0.95,则可以认为测试布局图M与相应的目标布局图A相同(同一图像),则可以将一个测试布局图与相应的目标布局图的比对结果确定为相同。再示例性的,假设目标布局图为B,目标布局图B与测试布局图M之间的目标匹配度为0.9,匹配度阈值为0.95,则可以认为测试布局图M与相应的目标布局图B不同(非同一图像)。
由于本申请可以当目标匹配度不小于预设的匹配度阈值时,将相应的测试布局图与目标布局图的比对结果确定为相同;当目标匹配度小于预设的匹配度阈值时,将相应的测试布局图与目标布局图的比对结果确定为不同,从而可以快捷简便的确定测试布局图与相应的目标布局图的比对结果。
S24:基于各测试布局图对应的比对结果,获得待测试APP的测试结果。
在一种可能的实施方式中,获得了每一个测试布局图对应的比对结果之后,可以基于各测试布局图对应的比对结果,确定各对比结果中,比对结果为相同的比对结果的数量(为方便描述,称为第一数量)、比对结果为不同的比对结果的数量(为方便描述,称为第二数量)、第一数量在比对结果总数量中所占的占比(为方便描述,称为第一占比)、第二数量在比对结果总数量中所占的占比(为方便描述,称为第二占比)等数值中的至少一种。可选的,对待测试APP的测试结果中可以包含第一数量、第二数量、第一占比、第二占比中的至少一种。
另外,待测试APP的测试结果中还可以包括比对结果为不同的测试布局图与目标布局图之间存在的差异等。示例性的,针对对比结果为不同的比对结果,可以确定该比对结果相应的测试界面图像与目标界面图像之间存在的差异,并将存在差异的地方标识出来,显示在测试结果中,以供测试人员参考。
在一种可能的实施方式中,测试人员等可以基于测试结果中显示的信息,判断待测试APP运行的是否正常等。
在一种可能的实施方式中,考虑到例如如果基于不同的终端设备分别获取测试界面图像和参考界面图像时,获取到的测试界面图像和参考界面图像的图像尺寸可能不同,如果基于图像尺寸不同的测试界面图像和参考界面图像分别生成测试布局图和参考布局图,基于图像尺寸不同的测试布局图和参考布局图进行后续比对过程时,可能会降低比对准确性并增加比对的耗时等,进而可能会影响APP的测试结果的准确性及测试效率等,为了提高APP测试结果的准确性及测试效率,在分别获取参考APP产生的各参考界面图像,以及获取待测试APP产生的各测试界面图像之后,在分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图之前,还可以针对各测试界面图像分别执行以下操作:分别将各参考界面图像的图像尺寸与一个测试界面图像的图像尺寸调整为相同图像尺寸。
其中,本申请对调整后的图像尺寸不做具体限定,例如,调整后的图像尺寸可以为测试界面图像的原图像尺寸,也可以为任一参考界面图像的原图像尺寸,还可以为与测试界面图像的原图像尺寸和各参考界面图像的原图像尺寸均不同的一个图像尺寸,可以根据需求灵活设置,只要调整后的各参考界面图形的图像尺寸与该测试界面图像的图像尺寸相同即可。
示例性的,以其中一个测试界面图像的原图像尺寸为a*b,各参考界面图像的原图像尺寸为c*d为例,可以将各参考界面图像的图像尺寸与该测试界面图像的图像尺寸均调整为a*b,也可以将各参考界面图像的图像尺寸与该测试界面图像的图像尺寸均调整为c*d,另外,还可以将各参考界面图像的图像尺寸与该测试界面图像的图像尺寸均调整为e*f。可选的,为了提高调整效率,可以一次性统一将各参考界面图像和各测试界面图像均调整为相同图像尺寸,在此不再赘述。
由于本申请在生成参考布局图和测试布局图之前,还可以将测试界面图像与参考界面图像调整为相同图像尺寸,从而可以提高APP的测试结果的准确性并可以提高测试效率。
为方便理解,下面通过一个具体实施例对本申请APP测试方法进行说明。参阅图10,其为本申请实施例提供的一种APP测试过程示意图,具体实施过程如下:
S21:基于测试数据分别运行参考APP和待测试APP,分别获取参考APP产生的各参考界面图像,以及获取待测试APP产生的各测试界面图像;参考APP和待测试APP为同一APP的不同程序版本。
S22-0:针对各测试界面图像分别执行以下操作:分别将各参考界面图像的图像尺寸与一个测试界面图像的图像尺寸调整为相同图像尺寸。
S22:分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
S23:针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,以及基于目标匹配度,获得这一个测试布局图与目标布局图的比对结果,其中,比对结果表征两者是否相同。
S24:基于各测试布局图对应的比对结果,获得待测试APP的测试结果。
本申请可以分别基于参考APP在运行过程中产生的各参考界面图像,生成各参考布局图,并基于待测试APP在运行过程中产生的各测试界面图像,生成各测试布局图,从各参考布局图中,分别确定每个测试布局图各自对应的目标布局图,并获得每个测试布局图与各自对应的目标布局图是否相同的比对结果,基于各测试布局图对应的比对结果,进而获得待测试APP的测试结果。
相比相关技术中需要测试人员等编写复杂的代码,例如需要测试人员等在测试代码中写清楚待测试APP的操作界面中存在的预期控件的名称标识等,然后再通过判断待测试APP的操作界面中是否存在该名称标识的预期控件等,来实现对待测试APP的测试而言:
由于本申请可以分别将各测试布局图与各自对应的目标布局图进行比对,基于各测试布局图与各自对应的目标布局图是否相同的比对结果,来获得待测试APP的测试结果的方式,与待测试APP的操作界面中包含的具体控件等没有直接的强关联关系,因此,一方面,无需测试人员编写复杂的代码,可以提高APP的测试效率,缩短APP的开发周期。
另一方面,本申请的APP测试方法的通用性较高,例如,无论是某一待测试APP的操作界面中的控件等发生改变时,还是需要对其他待测试APP进行测试时,也无论是前端开发人员对APP的操作界面中的控件等发生改变,还是后端测试人员对APP的操作界面中的控件等发生改变时,均可以快捷方便的使用本申请提供的APP测试方法来对待测试APP进行测试,测试过程简便,运维成本较低,从而实现快捷简便地进行APP测试的目的。
另外,由于本申请可以分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像对应的参考布局图,分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图,基于测试布局图和参考布局图进行比对的过程时,可以排除由于电子设备的显色差异等干扰因素对APP测试结果所带来的干扰,可以进一步提高APP的测试结果的准确性。
在一种可能的实施方式中,电子设备可以基于各测试布局图对应的比对结果,智能化地确定待测试APP运行是否正常的信息,并将该信息呈现在待测试APP的测试结果中。
可选的,基于各测试布局图对应的比对结果,获得(确定)待测试APP的测试结果时,电子设备可以判断各测试布局图对应的比对结果是否符合设定的合格条件,当各测试布局图对应的比对结果符合设定的合格条件,可以认为待测试APP运行正常,则可以确定待测试APP的测试结果为正常。否则,当各测试布局图对应的比对结果不符合设定的合格条件时,可以认为待测试APP的运行不正常,则可以确定待测试APP的测试结果为异常。
其中,合格条件可以根据需求灵活设置,本申请对此不做具体限定,示例性的,合格条件可以是比对结果全部为相同等。
由于本申请电子设备可以基于各测试布局图对应的对比结果以及设定的合格条件,智能化的确定待测试APP的运行是否正常,从而可以实现快捷简便的进行APP测试的目的。
在一种可能的实施方式中,在判断各测试布局图对应的比对结果是否符合设定的合格条件时,可以是判断各测试布局图对应的比对结果中,比对结果为不同的数量(第二数量)是否低于设定数量阈值,若第二数量低于设定数量阈值,则可以认为各测试布局图对应的比对结果符合设定的合格条件。若第二数量不低于设定数量阈值,则可以认为各测试布局图对应的比对结果不符合设定的合格条件。其中,设定数量阈值可以根据需求灵活设置,本申请对此不做具体限定。示例性的,当设定数量阈值为1时,只要各测试布局图对应的比对结果中有1个及1个以上的比对结果为不同,即可以认为各测试布局图对应的比对结果不符合设定的合格条件;当各测试布局图对应的比对结果中所有的比对结果均为相同,即比对结果为不同的第二数量为0时,认为比对结果为不同的数量低于设定数量阈值,认为各测试布局图对应的比对结果符合设定的合格条件。
另外,在判断各测试布局图对应的比对结果是否符合设定的合格条件时,还可以是判断各测试布局图对应的比对结果中,第一占比(比对结果为相同的第一数量在比对结果总数量中的占比)是否不低于设定百分比阈值。若第一占比不低于设定百分比阈值,则可以认为各测试布局图对应的比对结果符合设定的合格条件。若第一占比低于设定百分比阈值,则可以认为各测试布局图对应的比对结果不符合设定的合格条件。其中,设定百分比阈值可以根据需求灵活设置,本申请对此不做具体限定。示例性的,当设定百分比阈值为100%时,只要各测试布局图对应的比对结果中有1个及1个以上的比对结果为不同,即可以认为各测试布局图对应的比对结果不符合设定的合格条件;当各测试布局图对应的比对结果中所有的比对结果均为相同,即比对结果为相同所占的百分比为100%时,可以认为比对结果为相同所占的百分比不低于设定百分比阈值,认为各测试布局图对应的比对结果符合设定的合格条件。
由于本申请可以基于各测试布局图对应的比对结果中,比对结果为不同的数量、比对结果为相同所占的百分比等快捷地判断各测试布局图对应的比对结果是否符合设定的合格条件,进而可以快捷的判断待测试APP是否运行正常,从而实现快捷简便的进行APP测试的目的。
为方便理解,下面通过一个具体实施例对本申请APP测试方法进行说明。参阅图11,其为本申请实施例提供的另一种APP测试过程示意图,具体实施过程如下:
电子设备基于测试数据分别运行参考APP和待测试APP,对参考APP和待测试APP各自呈现各操作界面的运行过程进行录屏,分别生成相应的第一视频和第二视频;按照设定的时间间隔,分别从第一视频中提取各第一视频帧,以及从第二视频中提取各第二视频帧;分别对各第一视频帧以及各第二视频帧进行筛选处理,并将筛选处理后的各第一视频帧,作为参考APP产生的各参考界面图像,将筛选处理后的各第二视频帧,作为待测试APP产生的各测试界面图像。
分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,并分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,以及基于目标匹配度,获得一个测试布局图与目标布局图的比对结果,其中,比对结果表征两者是否相同。基于各测试布局图对应的比对结果,获得待测试APP的测试结果。
在一种可能的实施方式中,测试数据的获得方式包括但不限于以下两种方式:
第一种方式:可以基于参考APP的历史运行数据,确定测试数据。
示例性的,以某可以订购外卖的参考APP为例,假设该参考APP的历史运行数据中包含对象所在位置在北X的运行数据,则可以将对象所在位置在北X的运行数据,确定为测试数据。基于该测试数据,分别运行参考APP和待测试APP,以分别获取参考APP产生的各参考界面图像,以及获取待测试APP产生的各测试界面图像。
第二种方式:测试人员等对象可以确定分别运行参考APP和待测试APP的运行数据,并将确定的运行数据,输入电子设备中。电子设备可以将对象输入的运行数据,确定为测试数据,基于该测试数据,分别运行参考APP和待测试APP,以分别获取参考APP产生的各参考界面图像,以及获取待测试APP产生的各测试界面图像,在此不再赘述。
由于本申请可以基于参考APP的历史运行数据,确定测试数据;或者,将对象输入的运行数据,确定为测试数据,使参考APP和待测试APP可以基于相同的测试数据进行运行,可以在一定程度上保证APP测试结果的准确性。
参阅图12所示,其为本申请实施例提供的一种APP测试方法的交互实现时序流程示意图。该方法的具体实施流程如下:
S1201:测试人员等对象在电子设备中输入运行数据,触发开始测试指令。电子设备将接收到的运行数据作为测试数据,基于测试数据分别运行参考APP和待测试APP。
S1202:电子设备分别获取参考APP产生的各参考界面图像,并分别获取待测试APP产生的各测试界面图像。
S1203:电子设备分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,并分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
S1204:电子设备针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,基于目标匹配度,获得这一个测试布局图与目标布局图的比对结果,该比对结果可以表征两者是否相同。
S1205:电子设备基于各测试布局图对应的比对结果,获得待测试APP的测试结果,并显示该测试结果,供测试人员等对象参考。
为方便理解,下面通过一个具体实施例对本申请提供的APP测试过程进行解释说明。
参阅图13,其为本申请实施例提供的一种APP测试方法的具体实施流程示意图,该方法的具体实施流程如下:
S1300:测试人员等对象可以在终端设备中输入测试数据的身份标识号(Identitydocument,ID),另外,还可以在终端设备中输入参考APP和待测试APP的程序版本标识。测试人员可以触发开始测试指令,该测试指令可以是手动触发,也可以是基于定时器定时触发等,本申请对此不做具体限定。
S1301:终端设备将接收到的测试数据的ID发送给服务器。
S1302:服务器根据测试数据的ID,在服务器保存的各测试数据中,获取该ID对应的测试数据。
S1303:服务器将ID对应的测试数据发送给终端设备。
S1304:终端设备基于终端设备自身中的持续集成(CI)流水线,按照参考APP的程序版本标识,自动智能化的在终端设备中安装与参考APP的程序版本标识对应的参考APP;
另外,终端设备也可以基于CI流水线,按照待测试APP的程序版本标识,自动智能化的在终端设备中安装与待测试APP的程序版本标识对应的待测试APP。其中,CI流水线可以借助工具对APP进行持续的自动化的编译打包构建测试,使对象可以更轻松地应对APP的自动、快速、持续交付。
其中,本申请对安装参考APP和待测试APP的顺序不做具体限定,例如可以先安装参考APP,也可以先安装待测试APP,也可以同时安装参考APP和待测试APP等,可以根据需求灵活设置。
S1305:终端设备基于相应的测试数据运行参考APP。在运行参考APP时,终端设备可以每呈现一个操作界面,基于CI流水线,自动智能化的触发呈现的这一个操作界面中包含的每个目标控件,即可以遍历操作界面中包含的目标控件,并可以在每触发一个目标控件时,分别呈现相应的下一级操作界面。另外,可以基于CI流水线自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,当各操作界面中包含的目标控件均触发完毕时,也即遍历结束时,可以终止录屏,生成相应的第一视频;
同样的,终端设备也可以基于相应的测试数据运行待测试APP。在运行待测试APP时,终端设备也可以每呈现一个操作界面,基于CI流水线,自动智能化的触发呈现的这一个操作界面中包含的每个目标控件,即可以遍历操作界面中包含的目标控件,并可以在每触发一个目标控件时,分别呈现相应的下一级操作界面。另外,也可以基于CI流水线自动智能化的对待测试APP呈现各操作界面的运行过程进行录屏,当各操作界面中包含的目标控件均触发完毕时,也即遍历结束时,可以终止录屏,生成相应的第二视频。
在一种可能的实施方式中,终端设备可以基于如Moneky-Server等多进程服务,同时执行上述录屏的进程以及遍历操作界面中包含的目标控件的进程等。
其中,本申请对运行参考APP和待测试APP的顺序不做具体限定,例如可以先运行参考APP,也可以先运行待测试APP,也可以同时运行参考APP和待测试APP等,可以根据需求灵活设置。
S1306:终端设备可以将第一视频和第二视频分别发送给服务器。
S1307:服务器可以按照设定的时间间隔,从第一视频中提取各第一视频帧,对各第一视频帧进行筛选处理,将筛选处理后的各第一视频帧,作为各参考界面图像;另外,服务器也可以按照设定的时间间隔,从第二视频中提取各第二视频帧,对各第二视频帧进行筛选处理,将筛选处理后的各第二视频帧,作为各测试界面图像。
S1308:服务器分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,并分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
S1309:服务器可以针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,以及基于目标匹配度,获得这一个测试布局图与目标界面图像的比对结果,该比对结果表征两者是否相同;
获得各测试布局图对应的比对结果后,服务器可以基于各测试布局图对应的比对结果,获得待测试APP的测试结果。
S1310:服务器将待测试APP的测试结果发送给终端设备。
S1311:终端设备接收并显示待测试APP的测试结果,以供测试人员等对象参考。
在一种可能的实施方式中,终端设备可以基于可视化的万维网(World Wide Web,web)平台等显示测试结果。
为方便理解,下面再通过一个具体实施例对本申请提供的APP测试过程进行解释说明。
参阅图14A,其为本申请实施例提供的一种APP测试方法的具体场景示意图,假设参考APP和待测试APP为某一广告类APP,第一终端设备、第二终端设备、第三终端设备、第四终端设备中均分别安装有参考APP和待测试APP。第一终端设备、第二终端设备、第三终端设备、第四终端设备分别与服务器通过网络连接。
测试人员等对象将运行数据分别输入第一终端设备、第二终端设备、第三终端设备、第四终端设备。
另外,测试人员等对象将开屏广告这种业务类型输入第一终端设备。其中,开屏广告是指:出现在APP启动加载时的全屏或半屏广告。
另外,测试人员等对象将插屏广告这种业务类型输入第二终端设备。其中,插屏广告是指:在例如APP开启、暂停、跳转、切换、退出等时以半屏或全屏的形式弹出的广告。
另外,测试人员等对象将激励视频广告这种业务类型输入第三终端设备。其中,激励视频广告是指:一种通过奖励吸引对象主动选择观看的视频形式广告。
另外,测试人员等对象将横幅广告(Banner Ad.)这种业务类型输入第四终端设备。其中,横幅广告(Banner Ad.),又称旗帜广告,是指:一种在线展示广告,它出现在界面的显眼位置,如可以是横跨于操作界面上的公告牌等。
其中,开屏广告、插屏广告、激励视频广告、横幅广告为四种不同的广告形态。
具体的,第一终端设备可以将对象输入的运行数据,确定为测试数据,基于测试数据分别运行参考APP和待测试APP。其中,第一终端设备在运行参考APP时,可以每呈现一个操作界面,分别触发这一个操作界面中与“开屏广告”这个业务类型相关的各目标控件,并可以在每触发一个目标控件后,分别呈现相应的下一级操作界面。另外,第一终端设备可以自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,生成相应的第一视频。
第一终端设备在运行待测试APP时,第一终端设备也可以每呈现一个操作界面,分别触发这一个操作界面中与“开屏广告”这个业务类型相关的各目标控件,并在每触发一个目标控件时,分别呈现相应的下一级操作界面。另外,第一终端设备可以自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,生成相应的第二视频。
第一终端设备可以按照设定的时间间隔,从第一视频中提取各第一视频帧,对各第一视频帧进行筛选处理,将筛选处理后的各第一视频帧,作为各参考界面图像。第一终端设备也可以按照设定的时间间隔,从第二视频中提取各第二视频帧,对各第二视频帧进行筛选处理,将筛选处理后的各第二视频帧,作为各测试界面图像。
第一终端设备可以分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
第一终端设备可以针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,以及基于目标匹配度,获得这一个测试布局图与目标布局图的比对结果,该比对结果表征两者是否相同。
第一终端设备获得了各测试布局图对应的比对结果(为方便描述,图中称为开屏广告比对结果)后,可以将开屏广告比对结果发送给服务器。
另外,与第一终端设备类似,第二终端设备也可以将对象输入的运行数据,确定为测试数据,基于测试数据分别运行参考APP和待测试APP。其中,第二终端设备在运行参考APP时,可以每呈现一个操作界面,分别触发这一个操作界面中与“插屏广告”这个业务类型相关的各目标控件,并可以在每触发一个目标控件后,分别呈现相应的下一级操作界面。另外,第二终端设备可以自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,生成相应的第一视频。
第二终端设备在运行待测试APP时,第二终端设备也可以每呈现一个操作界面,分别触发这一个操作界面中与“插屏广告”这个业务类型相关的各目标控件,并在每触发一个目标控件时,分别呈现相应的下一级操作界面。另外,第二终端设备可以自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,生成相应的第二视频。
第二终端设备可以按照设定的时间间隔,从第一视频中提取各第一视频帧,对各第一视频帧进行筛选处理,将筛选处理后的各第一视频帧,作为各参考界面图像。第二终端设备也可以按照设定的时间间隔,从第二视频中提取各第二视频帧,对各第二视频帧进行筛选处理,将筛选处理后的各第二视频帧,作为各测试界面图像。
第二终端设备可以分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
第二终端设备可以针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,以及基于目标匹配度,获得这一个测试布局图与目标布局图的比对结果,该比对结果表征两者是否相同。
与第一终端设备相同,第二终端设备获得了各测试布局图对应的比对结果(为方便描述,图中称为插屏广告比对结果)后,也可以将插屏广告比对结果发送给服务器。
另外,与第一终端设备和第二终端设备类似,第三终端设备也可以将对象输入的运行数据,确定为测试数据,基于测试数据分别运行参考APP和待测试APP。其中,第三终端设备在运行参考APP时,可以每呈现一个操作界面,分别触发这一个操作界面中与“激励视频广告”这个业务类型相关的各目标控件,并可以在每触发一个目标控件后,分别呈现相应的下一级操作界面。另外,第三终端设备可以自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,生成相应的第一视频。
第三终端设备在运行待测试APP时,第三终端设备也可以每呈现一个操作界面,分别触发这一个操作界面中与“激励视频广告”这个业务类型相关的各目标控件,并在每触发一个目标控件时,分别呈现相应的下一级操作界面。另外,第三终端设备可以自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,生成相应的第二视频。
第三终端设备可以按照设定的时间间隔,从第一视频中提取各第一视频帧,对各第一视频帧进行筛选处理,将筛选处理后的各第一视频帧,作为各参考界面图像。第三终端设备也可以按照设定的时间间隔,从第二视频中提取各第二视频帧,对各第二视频帧进行筛选处理,将筛选处理后的各第二视频帧,作为各测试界面图像。
第三终端设备可以分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
第三终端设备可以获得各测试布局图对应的比对结果,其中,获得各测试布局图对应的比对结果的过程与第一终端设备类似,在此不再赘述。第三终端设备获得了各测试布局图对应的比对结果(为方便描述,图中称为激励视频广告比对结果)后,也可以将激励视频广告比对结果发送给服务器。
另外,与第一终端设备、第二终端设备、第三终端设备类似,第四终端设备也可以将对象输入的运行数据,确定为测试数据,基于测试数据分别运行参考APP和待测试APP。其中,第四终端设备在运行参考APP时,可以每呈现一个操作界面,分别触发这一个操作界面中与“横幅广告”这个业务类型相关的各目标控件,并可以在每触发一个目标控件后,分别呈现相应的下一级操作界面。另外,第四终端设备可以自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,生成相应的第一视频。
第四终端设备在运行待测试APP时,第四终端设备也可以每呈现一个操作界面,分别触发这一个操作界面中与“横幅广告”这个业务类型相关的各目标控件,并在每触发一个目标控件时,分别呈现相应的下一级操作界面。另外,第四终端设备可以自动智能化的对参考APP呈现各操作界面的运行过程进行录屏,生成相应的第二视频。
第四终端设备可以按照设定的时间间隔,从第一视频中提取各第一视频帧,对各第一视频帧进行筛选处理,将筛选处理后的各第一视频帧,作为各参考界面图像。第四终端设备也可以按照设定的时间间隔,从第二视频中提取各第二视频帧,对各第二视频帧进行筛选处理,将筛选处理后的各第二视频帧,作为各测试界面图像。
第四终端设备可以分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图。
第四终端设备可以获得各测试布局图对应的比对结果,其中,获得各测试布局图对应的比对结果的过程与第一终端设备类似,在此不再赘述。第四终端设备获得了各测试布局图对应的比对结果(为方便描述,图中称为横屏广告比对结果)后,也可以将横屏广告比对结果发送给服务器。
在一种可能的实施方式中,服务器接收到第一终端设备、第二终端设备、第三终端设备、第四终端设备发送的比对结果后,可以分别确定每种业务类型的广告形态的比对结果为相同的第一数量、比对结果为不同的第二数量、第一数量在相应业务类型的比对结果总数量所占的第一占比等数值中的至少一种,并可以将这些数值呈现在待测试APP的测试结果中。
参阅图14A,示例性的,测试结果中可以包含如下信息:
“开屏广告”的比对结果为不同的第二数量为0,开屏广告的比对结果总数量为11,开屏广告的比对结果为相同的占比(第一占比)为100.0%。
“插屏广告”的比对结果为不同的第二数量为3,插屏广告的比对结果总数量为10,插屏广告的比对结果为相同的占比(第一占比)为70.0%。
“激励视频广告”的比对结果为不同的第二数量为6,激励视频广告的比对结果总数量为21,激励视频广告的比对结果为相同的占比(第一占比)为71.43%。
“横幅广告”的比对结果为不同的第二数量为5,横幅广告的比对结果总数量为12,横幅广告的比对结果为相同的占比(第一占比)58.33%。
另外,假设预先设定的合格条件为:所有业务类型的第一占比均为100%,服务器可以认为待测试APP的各测试界面图像对应的比对结果不符合预设的合格条件,可以确定待测试APP的测试结果为“异常”,并将该“异常”信息呈现在测试结果中。
在一种可能的实施方式中,服务器可以将测试结果发送给测试人员等对象相应的终端设备中,测试人员等对象可以在终端设备中查看该测试报告。可选的,请参阅图14B,其为本申请实施例提供的一种测试结果示意图,针对比对结果为不同的比对结果(为方便描述,称为存在差异比对结果),测试结果中还可以包含存在差异比对结果相应的测试界面图像及目标界面图像,并将相应的测试界面图像与目标界面图像之间存在差异的地方标识出来等,以供测试人员参考。示例性的,测试人员等对象可以点击查看“插屏广告”相应的存在差异比对结果,终端设备响应于该点击操作,可以展示插屏广告中的3组存在差异比对结果相应的测试界面图像及目标界面图像,并将相应的测试界面图像与目标界面图像之间存在差异的地方用圆形虚线标识出来等,以供测试人员等参考。
基于相同的发明构思,本申请实施例还提供一种应用程序(APP)测试装置。如图15所示,其为本申请实施例提供的一种应用程序(APP)测试装置1500的结构示意图,该装置可以包括:
运行模块1501:用于基于测试数据分别运行参考APP和待测试APP,分别获取参考APP产生的各参考界面图像,以及获取待测试APP产生的各测试界面图像;参考APP和待测试APP为同一APP的不同程序版本;
生成模块1502:用于分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图;
比对模块1503:用于针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将目标匹配度对应的参考布局图作为目标布局图,以及基于目标匹配度,获得这一个测试布局图与目标布局图的比对结果,该比对结果表征两者是否相同;
获取模块1504:用于基于各测试布局图对应的比对结果,获得待测试APP的测试结果。
可选的,生成模块1502具体用于:分别识别各参考界面图像中包含的各目标控件的类型及位置信息;根据保存的控件类型与颜色值的对应关系,分别确定各目标控件对应的目标颜色值;基于各目标控件对应的目标颜色值及位置信息,分别生成各参考界面图像各自对应的参考布局图;以及,
分别识别各测试界面图像中包含的各目标控件的类型及位置信息;根据保存的控件类型与颜色值的对应关系,分别确定各目标控件对应的目标颜色值;基于各目标控件对应的目标颜色值及位置信息,分别生成各测试界面图像各自对应的测试布局图。
可选的,运行模块1501具体用于:按照测试数据中设置的操作流程,分别运行参考APP和待测试APP,其中,
在参考APP的运行过程中,每呈现一个操作界面,将一个操作界面对应的图像,记录为相应的参考界面图像,以及,
在待测试APP的运行过程中,每呈现一个操作界面,将一个操作界面对应的图像,记录为相应的测试界面图像。
可选的,运行模块1501具体用于:分别针对参考APP和待测试APP执行以下操作:
基于操作流程的执行逻辑,每呈现一个操作界面,触发一个操作界面中包含的至少一个目标控件,并分别呈现相应的下一级操作界面;
其中,至少一个目标控件为:一个操作界面中的部分目标控件或者全部目标控件。
可选的,运行模块1501具体用于:对参考APP和待测试APP各自呈现各操作界面的运行过程进行录屏,分别生成相应的第一视频和第二视频;
按照设定的时间间隔,分别从第一视频中提取各第一视频帧,以及从第二视频中提取各第二视频帧;
分别对各第一视频帧以及各第二视频帧进行筛选处理,并将筛选处理后的各第一视频帧,作为各参考界面图像,将筛选处理后的各第二视频帧,作为各测试界面图像。
可选的,所述装置还包括:
调整模块1505,用于针对各测试界面图像分别执行以下操作:分别将各参考界面图像的图像尺寸与一个测试界面图像的图像尺寸调整为相同图像尺寸。
可选的,所述比对模块1503具体用于:
针对分别位于各个参考布局图的设定位置的第一子布局图,以及位于一个测试布局图的设定位置的第二子布局图,分别确定各个第一子布局图各自与所述第二子布局图之间的匹配度。
可选的,比对模块1503具体用于:当目标匹配度不小于预设的匹配度阈值时,将一个测试布局图与目标布局图的比对结果确定为相同;
当目标匹配度小于预设的匹配度阈值时,将一个测试布局图与目标布局图的比对结果确定为不同。
可选的,获取模块1504具体用于:
当各测试布局图对应的比对结果符合设定的合格条件,则确定待测试APP的测试结果为正常;否则,则确定待测试APP的测试结果为异常。
可选的,比对模块1503具体用于:
将确定的各匹配度中,取值最大的匹配度,确定为目标匹配度;或者,
将确定的各匹配度中,取值大于匹配度阈值的任一匹配度,确定为目标匹配度。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器120。在该实施例中,电子设备的结构可以如图16所示,包括存储器1601,通讯模块1603以及一个或多个处理器1602。
存储器1601,用于存储处理器1602执行的计算机程序。存储器1601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1601也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1601是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1601可以是上述存储器的组合。
处理器1602,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1602,用于调用存储器1601中存储的计算机程序时实现上述应用程序(APP)测试方法。
通讯模块1603用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1601、通讯模块1603和处理器1602之间的具体连接介质。本申请实施例在图14中以存储器1601和处理器1602之间通过总线1604连接,总线1604在图14中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1604可以分为地址总线、数据总线、控制总线等。为便于描述,图14中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1601中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的应用程序测试方法。处理器1602用于执行上述的应用程序测试方法,如图2所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图17所示,包括:通信组件1710、存储器1720、显示单元1730、摄像头1740、传感器1750、音频电路1760、蓝牙模块1770、处理器1780等部件。
通信组件1710用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1720可用于存储软件程序及数据。处理器1780通过运行存储在存储器1720的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1720存储有使得终端设备110能运行的操作系统。本申请中存储器1720可以存储操作系统及各种应用程序,还可以存储执行本申请实施例应用程序测试方法的代码。
显示单元1730还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1730可以包括设置在终端设备110正面的显示屏1732。其中,显示屏1732可以采用液晶显示器、发光二极管等形式来配置。显示单元1730可以用于显示本申请实施例中的操作界面、测试结果等。
显示单元1730还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1730可以包括设置在终端设备110正面的触摸屏1731,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏1731可以覆盖在显示屏1732之上,也可以将触摸屏1731与显示屏1732集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1730可以显示应用程序以及对应的操作步骤。
摄像头1740可用于捕获静态图像,用户可以将摄像头1740拍摄的图像通过应用发布评论。摄像头1740可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1780转换成数字图像信号。
终端设备还可以包括至少一种传感器1750,比如加速度传感器1751、距离传感器1752、指纹传感器1753、温度传感器1754。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1760、扬声器1761、传声器1762可提供用户与终端设备110之间的音频接口。音频电路1760可将接收到的音频数据转换后的电信号,传输到扬声器1761,由扬声器1761转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1762将收集的声音信号转换为电信号,由音频电路1760接收后转换为音频数据,再将音频数据输出至通信组件1710以发送给比如另一终端设备110,或者将音频数据输出至存储器1720以便进一步处理。
蓝牙模块1770用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1770与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1780是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1720内的软件程序,以及调用存储在存储器1720内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1780可包括一个或多个处理单元;处理器1780还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1780中。本申请中处理器1780可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的应用程序测试方法。另外,处理器1780与显示单元1730耦接。
在一些可能的实施方式中,本申请提供的应用程序测试方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的应用程序测试方法中的步骤,例如,计算机设备可以执行如图2中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种应用程序APP测试方法,其特征在于,所述方法包括:
基于测试数据分别运行参考APP和待测试APP,分别获取所述参考APP产生的各参考界面图像,以及获取所述待测试APP产生的各测试界面图像;所述参考APP和所述待测试APP为同一APP的不同程序版本;
分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图;
针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将所述目标匹配度对应的参考布局图作为目标布局图,以及基于所述目标匹配度,获得所述一个测试布局图与所述目标布局图的比对结果,所述比对结果表征两者是否相同;
基于各测试布局图对应的比对结果,获得所述待测试APP的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图,包括:
分别识别各参考界面图像中包含的各目标控件的类型及位置信息;根据保存的控件类型与颜色值的对应关系,分别确定各目标控件对应的目标颜色值;基于各目标控件对应的目标颜色值及位置信息,分别生成各参考界面图像各自对应的参考布局图;以及,
分别识别各测试界面图像中包含的各目标控件的类型及位置信息;根据保存的控件类型与颜色值的对应关系,分别确定各目标控件对应的目标颜色值;基于各目标控件对应的目标颜色值及位置信息,分别生成各测试界面图像各自对应的测试布局图。
3.根据权利要求1所述的方法,其特征在于,所述基于测试数据分别运行参考APP和待测试APP,分别获取所述参考APP产生的各参考界面图像,以及获取所述待测试APP产生的各测试界面图像,包括:
按照所述测试数据中设置的操作流程,分别运行所述参考APP和所述待测试APP,其中,
在所述参考APP的运行过程中,每呈现一个操作界面,将所述一个操作界面对应的图像,记录为相应的参考界面图像,以及,
在所述待测试APP的运行过程中,每呈现一个操作界面,将所述一个操作界面对应的图像,记录为相应的测试界面图像。
4.根据权利要求3所述的方法,其特征在于,按照所述测试数据中设置的操作流程,分别运行所述参考APP和所述待测试APP,包括:
分别针对所述参考APP和所述待测试APP执行以下操作:
基于所述操作流程的执行逻辑,每呈现一个操作界面,触发所述一个操作界面中包含的至少一个目标控件,并分别呈现相应的下一级操作界面;
其中,所述至少一个目标控件为:所述一个操作界面中的部分目标控件或者全部目标控件。
5.根据权利要求4所述的方法,其特征在于,所述至少一个目标控件包括以下目标控件中的至少一种:
设定业务类型的目标控件;
归属于预设白名单的目标控件;
位于设定界面位置的目标控件。
6.根据权利要求1-5任一所述的方法,其特征在于,所述在所述参考APP的运行过程中,每呈现一个操作界面,将所述一个操作界面对应的图像,记录为相应的参考界面图像,以及,在所述待测试APP的运行过程中,每呈现一个操作界面,将所述一个操作界面对应的图像,记录为相应的测试界面图像,包括:
对所述参考APP和所述待测试APP各自呈现各操作界面的运行过程进行录屏,分别生成相应的第一视频和第二视频;
按照设定的时间间隔,分别从所述第一视频中提取各第一视频帧,以及从所述第二视频中提取各第二视频帧;
分别对所述各第一视频帧以及各第二视频帧进行筛选处理,并将筛选处理后的各第一视频帧,作为所述各参考界面图像,将筛选处理后的各第二视频帧,作为所述各测试界面图像。
7.根据权利要求6所述的方法,其特征在于,所述筛选处理包括以下操作中的至少一种:
去除重复视频帧;
去除设定噪音视频帧。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述分别获取所述参考APP产生的各参考界面图像,以及获取所述待测试APP产生的各测试界面图像之后,所述分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图之前,所述方法还包括:
针对各测试界面图像分别执行以下操作:分别将各参考界面图像的图像尺寸与一个测试界面图像的图像尺寸调整为相同图像尺寸。
9.根据权利要求1-5任一项所述的方法,其特征在于,所述分别确定各个参考布局图各自与一个测试布局图之间的匹配度,包括:
针对分别位于各个参考布局图的设定位置的第一子布局图,以及位于一个测试布局图的设定位置的第二子布局图,分别确定各个第一子布局图各自与所述第二子布局图之间的匹配度。
10.根据权利要求1-5任一项所述的方法,其特征在于,所述基于所述目标匹配度,获得所述一个测试布局图与所述目标布局图的比对结果,包括:
当所述目标匹配度不小于预设的匹配度阈值时,将所述一个测试布局图与所述目标布局图的比对结果确定为相同;
当所述目标匹配度小于预设的匹配度阈值时,将所述一个测试布局图与所述目标布局图的比对结果确定为不同。
11.根据权利要求1-5任一项所述的方法,其特征在于,所述基于各测试布局图对应的比对结果,获得所述待测试APP的测试结果,包括:
当所述各测试布局图对应的比对结果符合设定的合格条件,则确定所述待测试APP的测试结果为正常;否则,则确定所述待测试APP的测试结果为异常。
12.根据权利要求11所述的方法,其特征在于,所述各测试布局图对应的比对结果符合设定的合格条件,包括:
比对结果为不同的数量低于设定数量阈值;或者,
比对结果为相同所占的百分比不低于设定百分比阈值。
13.根据权利要求1-5任一项所述的方法,其特征在于,所述测试数据是采用以下方式获得的:
基于所述参考APP的历史运行数据,确定所述测试数据;或者,
将对象输入的运行数据,确定为所述测试数据。
14.根据权利要求1-5任一项所述的方法,其特征在于,所述将符合预设筛选条件的匹配度作为目标匹配度,包括:
将确定的各匹配度中,取值最大的匹配度,确定为所述目标匹配度;或者,
将确定的各匹配度中,取值大于匹配度阈值的任一匹配度,确定为所述目标匹配度。
15.一种应用程序APP测试装置,其特征在于,所述装置包括:
运行模块:用于基于测试数据分别运行参考APP和待测试APP,分别获取所述参考APP产生的各参考界面图像,以及获取所述待测试APP产生的各测试界面图像;所述参考APP和所述待测试APP为同一APP的不同程序版本;
生成模块:用于分别基于各参考界面图像中包含的各目标控件的位置信息,生成各参考界面图像各自对应的参考布局图,以及分别基于各测试界面图像中包含的各目标控件的位置信息,生成各测试界面图像各自对应的测试布局图;
比对模块:用于针对各测试布局图分别执行以下操作:分别确定各个参考布局图各自与一个测试布局图之间的匹配度,并将符合预设筛选条件的匹配度作为目标匹配度,将所述目标匹配度对应的参考布局图作为目标布局图,以及基于所述目标匹配度,获得所述一个测试布局图与所述目标布局图的比对结果,所述比对结果表征两者是否相同;
获取模块:用于基于各测试布局图对应的比对结果,获得所述待测试APP的测试结果。
16.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-14中任一所述应用程序APP测试方法的步骤。
17.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1-14中任一所述应用程序APP测试方法的步骤。
18.一种计算机程序产品,其特征在于,其包括计算机指令,该计算机指令被处理器执行时实现权利要求1-14中任一所述应用程序APP测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210579837.0A CN117171000A (zh) | 2022-05-25 | 2022-05-25 | 一种应用程序app测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210579837.0A CN117171000A (zh) | 2022-05-25 | 2022-05-25 | 一种应用程序app测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117171000A true CN117171000A (zh) | 2023-12-05 |
Family
ID=88939980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210579837.0A Pending CN117171000A (zh) | 2022-05-25 | 2022-05-25 | 一种应用程序app测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117171000A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349189A (zh) * | 2023-12-05 | 2024-01-05 | 四川才子软件信息网络有限公司 | 一种app新版本测试方法、设备及介质 |
-
2022
- 2022-05-25 CN CN202210579837.0A patent/CN117171000A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349189A (zh) * | 2023-12-05 | 2024-01-05 | 四川才子软件信息网络有限公司 | 一种app新版本测试方法、设备及介质 |
CN117349189B (zh) * | 2023-12-05 | 2024-03-15 | 四川才子软件信息网络有限公司 | 一种app新版本测试方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659684B2 (en) | Apparatus and method for providing dynamic panorama function | |
US10181203B2 (en) | Method for processing image data and apparatus for the same | |
US10223812B2 (en) | Image validation | |
WO2015176448A1 (zh) | 一种终端智能分屏方法及装置 | |
US20210208958A1 (en) | Application interaction method and apparatus | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
US11531702B2 (en) | Electronic device for generating video comprising character and method thereof | |
TW201344577A (zh) | 利用圖像辨識導引安裝應用程式的方法及電子裝置 | |
US20200265613A1 (en) | Electronic device and method for providing augmented reality service of electronic device | |
KR102316846B1 (ko) | 미디어 컨텐츠를 선별하는 방법 및 이를 구현하는 전자장치 | |
CN112116690A (zh) | 视频特效生成方法、装置及终端 | |
CN117171000A (zh) | 一种应用程序app测试方法、装置、电子设备及存储介质 | |
EP2960816A1 (en) | Method and apparatus for managing data | |
CN108009096B (zh) | 一种测试方法及终端 | |
US20180322908A1 (en) | Method for giving dynamic effect to video and electronic device thereof | |
CN112199997A (zh) | 一种终端及工具处理方法 | |
CN115757135A (zh) | 测试环境部署方法、设备、存储介质及程序产品 | |
CN114120211A (zh) | 消息推送方法、装置及存储介质 | |
CN114398164A (zh) | 在应用程序检测终端处执行的方法及应用程序检测终端 | |
CN112437224B (zh) | 一种相机数据处理方法、装置、计算机设备及存储介质 | |
CN110954214A (zh) | 一种设备测试方法、装置和系统 | |
CN114564413B (zh) | 一种同步设备测试方法及装置 | |
CN112783512B (zh) | 应用程序包处理方法、装置、设备及存储介质 | |
CN112929858B (zh) | 一种门禁卡的模拟方法和终端 | |
CN111142648B (zh) | 一种数据处理方法和智能终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |