一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用程序的测试方法、装置、电子设备及存储介质与流程

2022-11-14 01:38:12 来源:中国专利 TAG:


1.本发明涉及设备控制技术领域,特别是涉及一种应用程序的测试方法、一种应用程序的测试装置、一种电子设备以及一种计算机可读存储介质。


背景技术:

2.随着科技技术的发展以及智能终端的普及,智能终端所提供的相关功能为人们的日常生活带来很大的便利性。其中,对于智能终端,其在提供相应功能时,往往需要依赖于相关的应用程序,而对于同一应用程序,其在不同智能终端上的运行情况往往并不相同。对此,当应用开发商开发了一款应用程序后,需要在不同的智能终端上进行测试,以检查应用程序的运行情况。而在相关的测试过程中,往往需要搭建本地自动化测试框架环境或需要付费使用云端的自动化测试平台以实现应用程序的测试,不仅测试过程复杂,而且测试成本也高,无法满足实际的测试需求。


技术实现要素:

3.本发明实施例是提供一种应用程序的测试方法、装置、电子设备以及计算机可读存储介质,以解决或部分解决在进行批量设备的测试过程中存在测试过程复杂以及测试成本高的问题。
4.本发明实施例公开了一种应用程序的测试方法,包括:
5.获取应用程序的应用界面中界面元素的元素特征值;
6.响应于针对所述应用程序的测试指令配置操作,从所述界面元素中提取与所述测试指令配置操作对应的目标界面元素,并获取所述目标界面元素对应的目标元素特征值;
7.根据各个所述目标界面元素的目标元素特征值,生成与所述应用程序对应的测试指令集,将所述测试指令集发送至各个所述测试终端;
8.接收各个所述测试终端发送的测试结果,所述测试结果为所述测试终端在所述应用程序中完成与所述测试指令集对应的操作后生成的。
9.可选地,所述响应于针对所述应用程序的测试指令配置操作,从所述界面元素中提取与所述测试指令配置操作对应的目标界面元素,包括:
10.提供任务配置界面,所述任务配置界面至少包括若干个不同应用程序以及每一个应用程序对应的操作动作;
11.响应于针对所述应用程序的选择操作,选定待测试的应用程序;
12.响应于针对所述应用程序对应的操作动作的选择操作,选定与所述应用程序对应的至少一个目标操作动作,并获取各个所述目标操作动作在所述应用程序中对应的目标界面元素;
13.获取各个所述目标界面元素对应的目标元素特征值。
14.可选地,所述根据各个所述目标界面元素的目标元素特征值,生成与所述应用程序对应的测试指令集,包括:
15.获取各个所述目标界面元素对应的控制指令;
16.采用各个所述目标界面元素对应的目标元素特征值以及控制指令,生成针对所述应用程序的测试指令集。
17.可选地,所述将所述测试指令集发送至各个所述测试终端,包括:
18.获取各个所述测试终端的设备标识;
19.分别创建与各个所述测试终端对应的执行线程;
20.分别通过所述执行线程将所述控制指令发送至所述设备标识对应的测试终端。
21.可选地,还包括:
22.通过所述执行线程记录所属测试终端在执行所述测试指令集时的执行进度。
23.可选地,还包括:
24.响应于测试终端的首次连接,获取所述测试终端的设备信息,所述设备信息至少包括设备标识以及设备型号。
25.本发明实施例还公开了一种应用程序的测试方法,包括:
26.响应于调试模式打开指令,开启调试模式,并建立与控制终端之间的通信连接,向所述控制终端发送设备信息;
27.获取所述控制终端发送的测试指令集,所述测试指令集为所述控制终端根据应用程序中目标界面元素的目标元素特征值所生成的;
28.运行与所述测试指令集对应的应用程序,并在所述应用程序中执行与所述测试指令集对应的操作;
29.响应于完成所述测试指令集对应的操作,生成针对所述测试指令集的测试结果,并将所述测试结果发送至所述控制终端。
30.可选地,所述在所述应用程序中执行与所述测试指令集对应的操作,包括:
31.从所述测试指令集中提取各个所述目标界面元素对应的目标元素特征值以及控制指令;
32.按照所述控制指令的执行顺序,逐个解析所述目标元素特征值,获得对应的目标界面元素在图形用户界面中的显示坐标,并在所述显示坐标执行控制指令对应的控制操作。
33.本发明实施例还公开了一种应用程序的测试装置,包括:
34.元素特征值获取模块,用于获取应用程序的应用界面中界面元素的元素特征值;
35.任务配置模块,用于响应于针对所述应用程序的测试指令配置操作,从所述界面元素中提取与所述测试指令配置操作对应的目标界面元素,并获取所述目标界面元素对应的目标元素特征值;
36.指令集发送模块,用于根据各个所述目标界面元素的目标元素特征值,生成与所述应用程序对应的测试指令集,将所述测试指令集发送至各个所述测试终端;
37.测试结果接收模块,用于接收各个所述测试终端发送的测试结果,所述测试结果为所述测试终端在所述应用程序中完成与所述测试指令集对应的操作后生成的。
38.可选地,所述任务配置模块具体用于:
39.提供任务配置界面,所述任务配置界面至少包括若干个不同应用程序以及每一个应用程序对应的操作动作;
40.响应于针对所述应用程序的选择操作,选定待测试的应用程序;
41.响应于针对所述应用程序对应的操作动作的选择操作,选定与所述应用程序对应的至少一个目标操作动作,并获取各个所述目标操作动作在所述应用程序中对应的目标界面元素;
42.获取各个所述目标界面元素对应的目标元素特征值。
43.可选地,所述任务配置模块具体用于:
44.获取各个所述目标界面元素对应的控制指令;
45.采用各个所述目标界面元素对应的目标元素特征值以及控制指令,生成针对所述应用程序的测试指令集。
46.可选地,所述任务配置模块具体用于:
47.获取各个所述测试终端的设备标识;
48.分别创建与各个所述测试终端对应的执行线程;
49.分别通过所述执行线程将所述控制指令发送至所述设备标识对应的测试终端。
50.可选地,还包括:
51.执行进度记录模块,用于通过所述执行线程记录所属测试终端在执行所述测试指令集时的执行进度。
52.可选地,还包括:
53.设备信息获取模块,用于响应于测试终端的首次连接,获取所述测试终端的设备信息,所述设备信息至少包括设备标识以及设备型号。
54.本发明实施例还公开了一种应用程序的测试装置,包括:
55.设备信息发送模块,用于响应于调试模式打开指令,开启调试模式,并建立与控制终端之间的通信连接,向所述控制终端发送设备信息;
56.指令集获取模块,用于获取所述控制终端发送的测试指令集,所述测试指令集为所述控制终端根据应用程序中目标界面元素的目标元素特征值所生成的;
57.测试执行模块,用于运行与所述测试指令集对应的应用程序,并在所述应用程序中执行与所述测试指令集对应的操作;
58.测试结果生成模块,用于响应于完成所述测试指令集对应的操作,生成针对所述测试指令集的测试结果,并将所述测试结果发送至所述控制终端。
59.可选地,所述测试执行模块具体用于:
60.从所述测试指令集中提取各个所述目标界面元素对应的目标元素特征值以及控制指令;
61.按照所述控制指令的执行顺序,逐个解析所述目标元素特征值,获得对应的目标界面元素在图形用户界面中的显示坐标,并在所述显示坐标执行控制指令对应的控制操作。
62.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
63.所述存储器,用于存放计算机程序;
64.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方
法。
65.本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
66.本发明实施例包括以下优点:
67.在本发明实施例中,当需要在不同的测试终端中对同一个应用程序进行测试时,对测试终端进行测试控制的控制终端可以获取应用程序的应用界面中界面元素的元素特征值,接着可以响应于针对应用程序的测试指令配置操作,从界面元素中提取与测试指令配置操作对应的目标界面元素,并获取目标界面元素对应的目标元素特征值,接着可以根据各个目标界面元素的目标元素特征值,生成与测试任务对应的测试指令集,将测试指令集发送至各个测试终端,每一个测试终端在应用程序中完成与测试指令集对应的操作后,可以生成对应的测试结果,并发送至控制终端,以便控制终端对测试结果进行汇总、分析等,从而在对应用程序进行测试时,通过采集测试任务所对应的界面元素的元素特征值,对测试过程中需要处理的界面元素进行定位,同时基于元素特征值,生成与测试任务对应的测试指令集,使得不同的测试终端均可以通过相同的测试指令执行对应用程序的测试流程,有效地简化了测试过程,提高了测试效率,同时无需依赖于云端平台、框架等,大大降低了测试的成本。
附图说明
68.图1是本发明实施例中提供的一种应用程序的测试方法的步骤流程图;
69.图2是本发明实施例中提供的任务配置界面的示意图;
70.图3是本发明实施例中提供的一种应用程序的测试方法的步骤流程图;
71.图4是本发明实施例中提供的设备通信的示意图;
72.图5是本发明实施例中提供的一种应用程序的测试装置的结构框图;
73.图6是本发明实施例中提供的一种应用程序的测试装置的结构框图;
74.图7是本发明实施例中提供的一种电子设备的框图。
具体实施方式
75.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
76.作为一种示例,当应用开发商开发了一款应用程序后,需要在不同的智能终端上进行测试,以检查应用程序的运行情况。而在相关的测试过程中,往往需要搭建本地自动化测试框架环境或需要付费使用云端的自动化测试平台以实现应用程序的测试,不仅测试过程复杂,而且测试成本也高,无法满足实际的测试需求。
77.对此,本发明的核心发明点之一在于当需要在不同的测试终端中对同一个应用程序进行功能测试时,控制终端可以获取应用程序的应用界面中界面元素的元素特征值,接着可以响应于针对应用程序的测试指令配置操作,从界面元素中提取与测试指令配置操作对应的目标界面元素,并获取目标界面元素对应的目标元素特征值,接着可以根据各个界面元素的目标元素特征值,生成针对应用程序的测试指令集,将测试指令集发送至各个测试终端,每一个测试终端在应用程序中完成与测试指令集对应的操作后,可以生成对应的
测试结果,并发送至控制终端,以便控制终端对测试结果进行汇总、分析等,从而在对应用程序进行测试时,通过采集测试任务所对应的界面元素的元素特征值,对测试过程中需要处理的界面元素进行定位,并以元素特征值作为变量,生成统一进行测试控制的测试指令集,使得不同的测试终端之间均可以通过相同的测试指令执行对应用程序的测试流程,有效地简化了测试过程,提高了测试效率,同时无需依赖于云端平台、框架等,大大降低了测试的成本。
78.为了使本领域技术人员更好地理解本发明实施例的技术方案,下面对本发明实施例中涉及的部分技术特征进行解释、说明:
79.控制终端,其可以为用于对测试任务进行管理控制的终端,在控制终端上可以对测试任务进行配置,以及对测试终端的相关数据进行管理等。
80.测试终端,其可以为用于执行测试任务的终端,如可以为手机等,在一次测试任务中,可以由不同的测试终端执行同一个测试任务,不同的测试终端可以包括不同品牌的测试终端、同一品牌不同型号的测试终端等。
81.界面元素,在一个应用程序的应用界面中,可以包括若干个不同的界面元素,每一个界面元素可以用于执行不同的功能,例如,在应用界面中可以包括搜索控件、搜索输入框、搜索确认控件、用户列表tab控件、用户头像控件、关注控件等用于执行不同功能的控件。
82.具体的,参照图1,示出了本发明实施例中提供的一种应用程序的测试方法的步骤流程图,具体可以包括如下步骤:
83.步骤101,获取应用程序的应用界面中界面元素的元素特征值;
84.对于应用程序,由于不同终端的品牌、型号、性能等均不相同,使得终端在运行应用程序时可能出现异常,对此,在应用程序发布之前,可以先测试应用程序在不同终端上的运行情况,以便及时对应用程序做出相应的调整,保证应用程序发布后运行的稳定性。
85.其中,对于应用程序,其所对应的应用界面中可以包括若干不同的界面元素,每一个界面元素能够与用户之间发生对应的交互,以便用户通过界面元素控制应用程序执行对应的功能。对于每一个界面元素,其在应用程序中可以对应唯一的元素特征值,以通过元素特征值在应用界面中对其进行标识,例如,同一个应用界面中不同的界面元素可以对应不同的元素特征值,不同界面中用于实现相同功能的界面元素可以对应不同的元素特征值等,本发明对此不作限制。
86.具体的,用户可以通过应用程序的应用界面上提供的界面元素实现对应的应用功能,则在对应用程序进行测试时,通过元素特征值与界面元素之间的映射关系,可以实现在测试终端运行应用程序时,对需要进行操作的界面元素进行定位,以实现对应的测试流程。
87.在本发明实施例中,测试人员可以在控制终端上配置对应的测试任务,以便控制终端根据测试人员的配置生成对应的测试指令,然后发送至对应的测试终端,对需要进行测试的应用程序进行测试。其中,对于测试终端与控制终端之间的通信,当测试终端与控制终端首次连接时,测试终端可以响应于调试模式打开指令,开启调试模式,并建立与控制终端之间的通信连接,控制终端可以响应于测试终端的首次连接,获取测试终端的设备信息,设备信息至少包括设备标识以及设备型号等,然后控制终端可以对设备信息进行存储,以便后续在进行测试指令的下发时,可以基于设备信息定位对应的测试终端,并向其发送测
试指令。
88.步骤102,响应于针对所述应用程序的测试指令配置操作,从所述界面元素中提取与所述测试指令配置操作对应的目标界面元素,并获取所述目标界面元素对应的目标元素特征值;
89.在本发明实施例中,对于一个应用程序,其可以提供不同的应用功能,同时相关的应用功能之间可以相互联系,以构成一个由多界面操作组成的测试任务,从而通过对测试内容进行配置,在一次测试任务中对应用程序的多项功能进行组合测试,实现高效的应用测试。
90.在针对某一应用程序进行测试任务配置时,控制终端可以在图形用户界面中提供对应的任务配置界面,任务配置界面至少包括若干个不同应用程序以及每一个应用程序对应的操作动作,则测试人员可以对需要进行测试的应用程序进行选择,控制终端可以响应于针对应用程序的选择操作,选定待测试的应用程序,然后可以选择该应用程序下能够进行测试的操作动作,则控制终端可以响应于针对应用程序对应的操作动作的选择操作,选定与应用程序对应的至少一个目标操作动作,并获取各个目标操作动作在应用程序中对应的目标界面元素,以及获取各个目标界面元素对应的目标元素特征值。
91.其中,对于操作动作,其可以为界面所执行的功能操作,例如,在应用程序中对某个博主进行关注所对应的“关注动作”、对某个视频进行收藏所对应的“收藏动作”、对某条评论进行回复所对应的“回复功能”以及对进行搜索所对应的“搜索操作”等,本发明对此不作限制。
92.在一种示例中,参照图2,示出了本发明实施例中提供的任务配置界面的示意图,控制终端可以通过图形用户界面显示任务配置界面20,在任务配置界面20中可以包括不同应用程序所对应的应用程序图标210,则测试人员可以选中其中的某一个应用程序图标210,然后可以继续选中其所对应的至少一项操作动作220以配置需要进行测试的应用程序所对应的测试任务。例如,对于某应用程序,可以配置其执行触发搜索、输入搜索词、确认搜索、内容筛选、博主选择、关注博主、视频播放以及视频收藏等一系列操作动作,并将这些操作动作组成针对该应用程序的测试任务。
93.步骤103,根据各个所述目标界面元素的目标元素特征值,生成与所述应用程序对应的测试指令集,将所述测试指令集发送至各个所述测试终端;
94.对于应用程序,其所对应的应用界面中可以包括若干不同的界面元素,每一个界面元素能够与用户之间发生对应的交互,以便用户通过界面元素控制应用程序执行对应的功能,则在获取了当次测试任务所对应的各个目标元素特征值之后,可以根据各个目标界面元素对应的目标元素特征值,生成对应的测试指令集,然后将测试指令集发送至各个测试终端,由测试终端控制应用程序执行这些测试指令集,并在执行完毕后发送对应的测试结果至控制终端,以便控制终端对测试结果进行统计、分析等。
95.在具体实现中,对于不同的界面元素,其所对应的控制指令不同,例如,对于触控/点击控件类型的界面元素,其所对应的控制指令可以为触控指令;对于输入控件类型的界面元素,其所所对应的控制指令可以为输入指令等,则控制终端在获取了各个目标界面元素所对应的目标元素特征值之后,可以根据目标界面元素的元素类型(如触控/点击控件、输入控件等)获取其对应的控制指令,然后采用各个目标界面元素对应的目标元素特征值
以及控制指令,生成针对应用程序的测试指令集,然后在将测试指令集发送至各个测试终端,以便测试终端运行对应的应用程序,并从测试指令集中提取各个目标界面元素对应的目标元素特征值以及控制指令,然后按照控制指令的执行顺序,逐个解析元素特征值对应的目标界面元素在图形用户界面中的显示坐标,并在显示坐标执行控制指令对应的控制操作,从而通过元素特征值可以实现在应用界面中对需要进行操作的控件进行定位,并基于控制指令对定位后的控件进行操作,实现对应用程序的测试,进而在对应用程序进行批量测试的过程中,对于控制终端,可以基于相同的测试指令集实现批量的应用测试,而对于测试终端,由于不同的测试终端显示的内容可能存在差异,则测试终端可以基于元素特征值进行界面元素的自适应定位,并在定位完成后执行对应的控制指令,实现应用程序的测试,有效地简化了测试过程,提高了测试效率,同时无需依赖于云端平台、框架等,大大降低了测试的成本。
96.在一种示例中,假设测试人员针对某应用程序配置了触发搜索、输入搜索词、确认搜索、内容筛选、博主选择、关注博主、视频播放以及视频收藏等一系列操作动作,则控制终端可以先获取触发搜索对应的“搜索控件”、输入搜索词对应的“搜索控件”、确认搜索对应的“确认控件”、内容筛选对应的“内容控件”、博主选择对应的“用户控件”、关注博主对应的“关注控件”、视频播放对应的“播放控件”以及视频收藏对应的“收藏控件”,然后基于各个控件所对应的控件类型,确定对应的控制指令,同时当控制指令为输入指令时,测试人员可以进一步输入与输入指令对应的内容,以便在测试过程中,可以根据测试人员所输入的内容执行对应的操作(如输入关键词,则应用程序在测试过程中,可以输入该关键词进行搜索等),然后再将各个元素特征值以及控制指令进行汇总,并生成与应用程序对应的测试指令集。
97.此外,不同的测试终端由于性能参数的差异,在执行同一个测试任务时,不同终端执行相关操作所耗费的时长并不一致,需要为每个测试终端的执行过程新建异步执行的线程,对其执行进度进行记录,具体的,控制终端可以获取各个测试终端的设备标识,接着分别创建与各个测试终端对应的执行线程,然后通过执行线程将控制指令发送至设备标识对应的测试终端,同时在测试终端执行测试任务的过程中,控制终端可以通过执行线程记录所属测试终端在执行测试指令集时的执行进度,从而通过创建异步执行的线程对测试终端的执行进度进行记录,确保每个控制指令均被完整的执行,实现测试任务的批量并发操作。
98.需要说明的是,对于不同的测试终端,控制终端可以通过设备标识对测试终端进行区分,例如,设备标识可以为测试终端的设备序列号等,则控制终端在创建了对应的执行线程之后,可以通过设备序列号将测试指令集发送至对应的测试终端,本发明对此不作限制。
99.步骤104,接收各个所述测试终端发送的测试结果,所述测试结果为所述测试终端在所述应用程序中完成与所述测试指令集对应的操作后生成的。
100.对于测试终端,其可以从测试指令集中提取各个目标界面元素对应的目标元素特征值以及控制指令,接着按照控制指令的执行顺序,逐个解析元素特征值对应的目标界面元素在图形用户界面中的显示坐标,并在显示坐标执行控制指令对应的控制操作。
101.在具体实现中,若测试指令集仅包含一个控制指令,则测试终端可以直接执行该控制指令对应的操作;若测试指令集包含若干个控制指令,则测试终端可以按照控制指令
的先后顺序,分别执行对应点的操作。其中,对于先后顺序,其可以为数据指令的排序顺序,也可以为测试人员所配置的顺序等,本发明对此不作限制。此外,当在应用界面进行操作时,测试终端并不清楚应该对哪个界面元素进行操作,则测试终端在执行对应的控制指令时,可以通过控制指令所对应的目标元素特征值确定界面元素在图形用户界面上的显示坐标,然后基于该显示坐标实现对界面元素的控制操作。
102.例如,测试终端在执行点击屏幕操作时,需要提供精确x、y坐标值,运行命令脚本执行具体操作之前,可以通过封装好的get_main_btn方法,根据界面元素的元素特征值解析为当前图形用户界面的x、y坐标,并把控制指令转换为adb点击屏幕坐标的shell命令,以便测试终端完成相应操作。
103.通过上述过程,当测试终端完成了测试指令集所对应的测试任务后,可以生成对应的测试结果(如是否测试完成、测试子项的测试时间、测试总时间等等),然后将测试结果发送至控制终端,由控制终端对测试结果进行汇总、分析等,从而在对应用程序进行测试时,通过采集测试任务所对应的界面元素的元素特征值,对测试过程中需要处理的界面元素进行定位,同时基于元素特征值,生成与测试任务对应的测试指令集,使得不同的测试终端均可以通过相同的测试指令执行对应用程序的测试流程,有效地简化了测试过程,提高了测试效率,同时无需依赖于云端平台、框架等,大大降低了测试的成本。
104.需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,本领域技术人员在本发明实施例的思想指导下,还可以根据实际需求进行设置,本发明对此不作限制。
105.在本发明实施例中,当需要在不同的测试终端中对同一个应用程序进行测试时,对测试终端进行测试控制的控制终端可以获取应用程序的应用界面中界面元素的元素特征值,接着可以响应于针对应用程序的测试指令配置操作,从界面元素中提取与测试指令配置操作对应的目标界面元素,并获取目标界面元素对应的元素特征值,接着可以根据各个目标界面元素的元素特征值,生成与测试任务对应的测试指令集,将测试指令集发送至各个测试终端,每一个测试终端在应用程序中完成与测试指令集对应的操作后,可以生成对应的测试结果,并发送至控制终端,以便控制终端对测试结果进行汇总、分析等,从而在对应用程序进行测试时,通过采集测试任务所对应的界面元素的元素特征值,对测试过程中需要处理的界面元素进行定位,同时基于元素特征值,生成与测试任务对应的测试指令集,使得不同的测试终端均可以通过相同的测试指令执行对应用程序的测试流程,有效地简化了测试过程,提高了测试效率,同时无需依赖于云端平台、框架等,大大降低了测试的成本。
106.参照图3,示出了本发明实施例中提供的一种应用程序的测试方法的步骤流程图,具体可以包括如下步骤:
107.步骤301,响应于调试模式打开指令,开启调试模式,并建立与控制终端之间的通信连接,向所述控制终端发送设备信息;
108.步骤302,获取所述控制终端发送的测试指令集,所述测试指令集为所述控制终端根据应用程序中目标界面元素的目标元素特征值所生成的;
109.步骤303,运行与所述测试指令集对应的应用程序,并在所述应用程序中执行与所述测试指令集对应的操作;
110.步骤304,响应于完成所述测试指令集对应的操作,生成针对所述测试指令集的测
试结果,并将所述测试结果发送至所述控制终端。
111.在一种可选实施例中,所述在所述应用程序中执行与所述测试指令集对应的操作,包括:
112.从所述测试指令集中提取各个所述目标界面元素对应的目标元素特征值以及控制指令;
113.按照所述控制指令的执行顺序,逐个解析所述目标元素特征值,获得对应的目标界面元素在图形用户界面中的显示坐标,并在所述显示坐标执行控制指令对应的控制操作。
114.在本发明实施例中,当需要在不同的测试终端中对同一个应用程序进行测试时,测试终端可以响应于调试模式打开指令,开启调试模式,并建立与控制终端之间的通信连接,向控制终端发送设备信息,接着可以获取控制终端发送的测试指令集,测试指令集为控制终端根据应用程序中目标界面元素的目标元素特征值所生成的,然后运行与测试指令集对应的应用程序,并在应用程序中执行与测试指令集对应的操作,再响应于完成测试指令集对应的操作,生成针对测试指令集的测试结果,并将测试结果发送至控制终端,以便控制终端对测试结果进行汇总、分析等,从而在对应用程序进行测试时,通过采集测试任务所对应的界面元素的元素特征值,对测试过程中需要处理的界面元素进行定位,同时基于元素特征值,生成与测试任务对应的测试指令集,使得不同的测试终端均可以通过相同的测试指令执行对应用程序的测试流程,有效地简化了测试过程,提高了测试效率,同时无需依赖于云端平台、框架等,大大降低了测试的成本。
115.为了使本领域技术人员更好地理解本发明实施例的技术方案,下面通过一个例子进行示例性说明:
116.假设测试任务为在应用程序中搜索某博主,并完成关注、作品点赞、收藏操作等,则控制终端可以先根据上述测试任务确定涉及的所有目标界面元素(按钮、输入框、图标等),并采集各个目标界面元素所对应的元素特征值,包括搜索按钮特征值(resource-id)、搜索输入框特征值(resource-id)、搜索确认按钮特征值(resource-id)、用户列表tab按钮特征值(resource-id)、用户列表特征值(class)、关注按钮特征值(resource-id)、作品列表容器特征值(resource-id)、点按按钮特征值(resource-id)、收藏按钮特征值(resource-id),完成元素特征值的采集后,测试人员可以开始需要进行测试的手机终端的usb调试模型,并通过usb连接手机终端至控制终端。
117.参照图4,示出了本发明实施例中提供的设备通信的示意图,在手机终端首次连接控制终端的过程中,控制终端可以先采集手机终端的手机串号、型号等设备信息,并建立测试终端信息库,同时定时刷新手机终端的在线状态。
118.在完成设备之间的通信连接后,控制终端可以提供对应的任务配置界面,以测试人员在任务配置界面中配置对应的测试任务,使控制终端生成对应的测试指令集。同时,由于不同手机终端因性能的差异,执行相同操作耗费的时长并不一致,需要为每个手机终端的执行过程新建异步执行的子线程,单独记录每个手机命令序列执行进度,确保每个操作命令正常完整的执行,实现多手机终端批量并发操作。
119.基于步骤手机终端的设备信息以及测试指令集,控制终端可以通过手机唯一串码,实现不同手机终端的区分,并通过唯一串码给指定手机下发该手机时序进度的adb指令
(-s参数即手机串码)。
120.手机终端在执行对应的点击屏幕操作时,需要提供精确x、y坐标值,运行命令脚本执行具体操作之前,通过封装好的get_main_btn方法,根据操作元素的唯一特征值解析为当前手机界面的x、y坐标,把该命令转换为adb点击屏幕坐标的shell命令,手机终端完成相应操作。
121.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
122.参照图5,示出了本发明实施例中提供的一种应用程序的测试装置的结构框图,具体可以包括如下模块:
123.元素特征值获取模块501,用于获取应用程序的应用界面中界面元素的元素特征值;
124.任务配置模块502,用于响应于针对所述应用程序的测试指令配置操作,从所述界面元素中提取与所述测试指令配置操作对应的目标界面元素,并获取所述目标界面元素对应的目标元素特征值;
125.指令集发送模块503,用于根据各个所述目标界面元素的目标元素特征值,生成与所述应用程序对应的测试指令集,将所述测试指令集发送至各个所述测试终端;
126.测试结果接收模块504,用于接收各个所述测试终端发送的测试结果,所述测试结果为所述测试终端在所述应用程序中完成与所述测试指令集对应的操作后生成的。
127.在一种可选实施例中,所述任务配置模块502具体用于:
128.提供任务配置界面,所述任务配置界面至少包括若干个不同应用程序以及每一个应用程序对应的操作动作;
129.响应于针对所述应用程序的选择操作,选定待测试的应用程序;
130.响应于针对所述应用程序对应的操作动作的选择操作,选定与所述应用程序对应的至少一个目标操作动作,并获取各个所述目标操作动作在所述应用程序中对应的目标界面元素;
131.获取各个所述目标界面元素对应的目标元素特征值。
132.在一种可选实施例中,所述任务配置模块502具体用于:
133.获取各个所述目标界面元素对应的控制指令;
134.采用各个所述目标界面元素对应的目标元素特征值以及控制指令,生成针对所述应用程序的测试指令集。
135.在一种可选实施例中,所述任务配置模块502具体用于:
136.获取各个所述测试终端的设备标识;
137.分别创建与各个所述测试终端对应的执行线程;
138.分别通过所述执行线程将所述控制指令发送至所述设备标识对应的测试终端。
139.在一种可选实施例中,还包括:
140.执行进度记录模块,用于通过所述执行线程记录所属测试终端在执行所述测试指
令集时的执行进度。
141.在一种可选实施例中,还包括:
142.设备信息获取模块,用于响应于测试终端的首次连接,获取所述测试终端的设备信息,所述设备信息至少包括设备标识以及设备型号。
143.参照图6,示出了本发明实施例中提供的一种应用程序的测试装置的结构框图,具体可以包括如下模块:
144.设备信息发送模块601,用于响应于调试模式打开指令,开启调试模式,并建立与控制终端之间的通信连接,向所述控制终端发送设备信息;
145.指令集获取模块602,用于获取所述控制终端发送的测试指令集,所述测试指令集为所述控制终端根据应用程序中目标界面元素的目标元素特征值所生成的;
146.测试执行模块603,用于运行与所述测试指令集对应的应用程序,并在所述应用程序中执行与所述测试指令集对应的操作;
147.测试结果生成模块604,用于响应于完成所述测试指令集对应的操作,生成针对所述测试指令集的测试结果,并将所述测试结果发送至所述控制终端。
148.在一种可选实施例中,所述测试执行模块603具体用于:
149.从所述测试指令集中提取各个所述目标界面元素对应的目标元素特征值以及控制指令;
150.按照所述控制指令的执行顺序,逐个解析所述目标元素特征值,获得对应的目标界面元素在图形用户界面中的显示坐标,并在所述显示坐标执行控制指令对应的控制操作。
151.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
152.另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述应用程序的测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
153.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述应用程序的测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
154.图7为实现本发明各个实施例的一种电子设备的硬件结构示意图。
155.该电子设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、处理器710、以及电源711等部件。本领域技术人员可以理解,本发明实施例中所涉及的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
156.应理解的是,本发明实施例中,射频单元701可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器710处理;另外,将上行的
数据发送给基站。通常,射频单元701包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元701还可以通过无线通信系统与网络和其他设备通信。
157.电子设备通过网络模块702为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
158.音频输出单元703可以将射频单元701或网络模块702接收的或者在存储器709中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元703还可以提供与电子设备700执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元703包括扬声器、蜂鸣器以及受话器等。
159.输入单元704用于接收音频或视频信号。输入单元704可以包括图形处理器(graphics processing unit,gpu)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元706上。经图形处理器7041处理后的图像帧可以存储在存储器709(或其它存储介质)中或者经由射频单元701或网络模块702进行发送。麦克风7042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元701发送到移动通信基站的格式输出。
160.电子设备700还包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板7061的亮度,接近传感器可在电子设备700移动到耳边时,关闭显示面板7061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器705还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
161.显示单元706用于显示由用户输入的信息或提供给用户的信息。显示单元706可包括显示面板7061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板7061。
162.用户输入单元707可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元707包括触控面板7071以及其他输入设备7072。触控面板7071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板7071上或在触控面板7071附近的操作)。触控面板7071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器710,接收处理器710发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板7071。除了触控面板7071,用户输入单元707还可以包括其他输入设备7072。具体地,其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
163.进一步的,触控面板7071可覆盖在显示面板7061上,当触控面板7071检测到在其
上或附近的触摸操作后,传送给处理器710以确定触摸事件的类型,随后处理器710根据触摸事件的类型在显示面板7061上提供相应的视觉输出。可以理解的是,在一种实施例中,触控面板7071与显示面板7061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板7071与显示面板7061集成而实现电子设备的输入和输出功能,具体此处不做限定。
164.接口单元708为外部装置与电子设备700连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元708可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备700内的一个或多个元件或者可以用于在电子设备700和外部装置之间传输数据。
165.存储器709可用于存储软件程序以及各种数据。存储器709可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器709可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
166.处理器710是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器709内的软件程序和/或模块,以及调用存储在存储器709内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器710可包括一个或多个处理单元;优选的,处理器710可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
167.电子设备700还可以包括给各个部件供电的电源711(比如电池),优选的,电源711可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
168.另外,电子设备700包括一些未示出的功能模块,在此不再赘述。
169.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
170.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
171.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员
在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
172.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
173.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
174.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
175.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
176.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
177.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
178.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献