应用测试方法及装置与流程

文档序号:12464210阅读:233来源:国知局
应用测试方法及装置与流程

本发明涉及自动化测试领域,特别涉及一种应用测试方法及装置。



背景技术:

随着电子技术的快速发展,在终端中能够安装的应用种类越来越多,应用可以通过用户界面为用户提供多种服务。应用的开发人员为了确保应用在通过用户界面提供服务时的稳定性,需要对用户界面的各个功能进行测试。在实际测试的过程中,通常需要进行大量测试来确保稳定性,因此可以采用设备自动化测试的方式代替人工方式进行重复测试,从而可以缩短测试时长,大大提高测试效率。

目前,通常采用设备自动化测试的方式对应用进行测试的方法为:用户打开测试终端上安装的待测试的目标应用,并手动对该目标应用进行操作,在测试终端检测到对目标应用的操作时,将检测到的操作录制下来,得到录制脚本,然后由测试终端对录制脚本进行多次回放,也即是将录制的操作重复执行多次,以实现测试终端的自动化测试。

然而,由于测试终端对目标应用进行测试时,都需要先手动对目标应用进行操作,以录制得到录制脚本,然后才能通过录制脚本进行多次回放以重复测试,灵活性较低,且降低了应用的测试效率。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种应用测试方法及装置。所述技术方案如下:

一方面,提供了一种应用测试方法,所述方法包括:

当检测到目标应用的应用测试指令时,获取所述目标应用对应的多个脚本描述信息,每个脚本描述信息用于对所述目标应用中对应功能进行测试的录制脚本进行描述;

当检测到目标录制脚本的选择指令时,下载所述目标录制脚本,所述目标录制脚本为多个录制脚本中的任一录制脚本,所述多个录制脚本与所述多个脚本描述信息一一对应;

基于所述目标录制脚本,对所述目标应用进行测试。

可选地,所述获取所述目标应用对应的多个脚本描述信息之后,还包括:

当未检测到所述目标录制脚本的选择指令但检测到所述目标应用的测试录制指令时,获取终端信息列表,所述终端信息列表包括多个终端标识和各个终端当前连接的其他终端标识;

当检测到目标终端标识的选择指令时,基于目标终端确定对所述目标应用的操作过程进行录制得到的录制脚本,所述目标终端标识为所述终端信息列表显示的任一终端标识;

基于录制得到的录制脚本,对所述目标应用进行测试。

可选地,所述基于目标终端确定对所述目标应用的操作过程进行录制得到的录制脚本,包括:

当所述目标终端标识为第一终端标识时,通过第一终端确定对所述目标应用的操作过程进行录制得到的录制脚本,所述第一终端为检测到所述目标应用的应用测试指令的终端;

当所述目标终端标识为第二终端标识时,通过对第二终端进行远程控制,由所述第二终端确定对所述目标应用的操作过程进行录制得到的录制脚本,所述第二终端标识为所述多个终端标识中除所述第一终端标识之外的任一终端标识;

当所述目标终端标识为第二终端当前连接的其他终端标识时,向所述第二终端发送操作录制提示消息,以提示所述第二终端对应的用户对所述第二终端当前连接的其他终端进行操作以录制得到录制脚本。

可选地,所述通过第一终端确定对所述目标应用的操作过程进行录制得到的录制脚本,包括:

获取第一IP(Internet Protocol,网络协议)地址和第一端口号,所述第一IP地址为当前连接网络所使用的IP地址,所述第一端口号为当前处于空闲状态的端口号;

发送第一测试录制请求,所述第一测试录制请求中携带所述第一IP地址和所述第一端口号;

当接收到测试录制响应时,确定对所述目标应用的操作过程进行录制得到的录制脚本。

可选地,所述通过对第二终端进行远程控制,由所述第二终端确定对所述目标应用的操作过程进行录制得到的录制脚本,包括:

获取所述第一IP地址和所述第一端口号;

发送第二测试录制请求,所述第二测试录制请求中携带所述第一IP地址、所述第一端口号和所述第二终端标识;

当接收到测试录制响应时,通过对所述第二终端进行远程控制,由所述第二终端确定对所述目标应用的操作过程进行录制得到的录制脚本。

可选地,所述方法还包括:

当所述目标终端标识为第一终端标识时,通过所述第一终端生成所述录制脚本对应的脚本描述信息,并发送所述录制脚本和所述录制脚本对应的脚本描述信息;或者,

当所述目标终端标识为第二终端标识时,通过对所述第二终端进行控制,由所述第二终端生成所述录制脚本对应的脚本描述信息,并发送所述录制脚本和所述录制脚本对应的脚本描述信息。

另一方面,提供了一种应用测试装置,所述装置包括:

第一获取模块,用于当检测到目标应用的应用测试指令时,获取所述目标应用对应的多个脚本描述信息,每个脚本描述信息用于对所述目标应用中对应功能进行测试的录制脚本进行描述;

下载模块,用于当检测到目标录制脚本的选择指令时,下载所述目标录制脚本,所述目标录制脚本为多个录制脚本中的任一录制脚本,所述多个录制脚本与所述多个脚本描述信息一一对应;

测试模块,用于基于所述目标录制脚本,对所述目标应用进行测试。

可选地,所述装置还包括:

第二获取模块,用于当未检测到所述目标录制脚本的选择指令但检测到所述目标应用的测试录制指令时,获取终端信息列表,所述终端信息列表包括多个终端标识和各个终端当前连接的其他终端标识;

确定模块,用于当检测到目标终端标识的选择指令时,基于目标终端确定对所述目标应用的操作过程进行录制得到的录制脚本,所述目标终端标识为所述终端信息列表显示的任一终端标识;

所述测试模块,还用于基于录制得到的录制脚本,对所述目标应用进行测试。

可选地,所述确定模块包括:

第一确定单元,用于当检测到目标终端标识的选择指令时,当所述目标终端标识为第一终端标识时,通过第一终端确定对所述目标应用的操作过程进行录制得到的录制脚本,所述第一终端为检测到所述目标应用的应用测试指令的终端;

第二确定单元,用于当所述目标终端标识为第二终端标识时,通过对第二终端进行远程控制,由所述第二终端确定对所述目标应用的操作过程进行录制得到的录制脚本,所述第二终端标识为所述多个终端标识中除所述第一终端标识之外的任一终端标识;

发送单元,用于当所述目标终端标识为第二终端当前连接的其他终端标识时,向所述第二终端发送操作录制提示消息,以提示所述第二终端对应的用户对所述第二终端当前连接的其他终端进行操作以录制得到录制脚本。

可选地,所述第一确定单元包括:

第一获取子单元,用于当检测到目标终端标识的选择指令时,当所述目标终端标识为第一终端标识时,获取第一网络协议IP地址和第一端口号,所述第一IP地址为当前连接网络所使用的网络协议IP地址,所述第一端口号为当前处于空闲状态的端口号;

第一发送子单元,用于发送第一测试录制请求,所述第一测试录制请求中携带所述第一IP地址和所述第一端口号;

第一确定子单元,用于当接收到测试录制响应时,确定对所述目标应用的操作过程进行录制得到的录制脚本。

可选地,所述第二确定单元包括:

第二获取子单元,用于当所述目标终端标识为第二终端标识时,获取所述第一IP地址和所述第一端口号;

第二发送子单元,用于发送第二测试录制请求,所述第二测试录制请求中携带所述第一IP地址、所述第一端口号和所述第二终端标识;

第二确定子单元,用于当接收到测试录制响应时,通过对所述第二终端进行远程控制,由所述第二终端确定对所述目标应用的操作过程进行录制得到的录制脚本。

可选地,所述装置还包括:

第一生成模块,用于当所述目标终端标识为第一终端标识时,通过所述第一终端生成所述录制脚本对应的脚本描述信息,并发送所述录制脚本和所述录制脚本对应的脚本描述信息;或者,

第二生成模块,用于当所述目标终端标识为第二终端标识时,通过对所述第二终端进行控制,由所述第二终端生成所述录制脚本对应的脚本描述信息,并发送所述录制脚本和所述录制脚本对应的脚本描述信息。

本发明实施例提供的技术方案带来的有益效果是:在本发明实施例中,当第一终端检测目标应用的应用测试指令时,可以获取目标应用对应的多个脚本描述信息,当检测到目标录制脚本的选择指令时,第一终端可以直接下载测试服务器存储的目标录制脚本,而无需手动对目标应用进行操作,以录制得到录制脚本,从而第一终端可以直接通过对下载的录制脚本进行多次回放以对目标应用重复测试,进而增强了测试的灵活性,且由于得到录制脚本时无需手动操作从而提高了应用的测试效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种应用测试系统架构的示意图;

图2是本发明实施例提供的一种应用测试方法的流程图;

图3是本发明实施例提供的另一种应用测试方法的流程图;

图4A是本发明实施例提供的一种应用测试装置的框图;

图4B是本发明实施例提供的另一种应用测试装置的框图;

图4C是本发明实施例提供的确定模块的框图;

图4D是本发明实施例提供的第一确定单元的框图;

图4E是本发明实施例提供的第二确定单元的框图;

图4F是本发明实施例提供的第三种应用测试装置的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种应用测试系统,参见图1,该系统包括:第一终端001、第二终端002和测试服务器003。第一终端001和第二终端002分别与测试服务器003之间通过HTTP(Hyper Text Transfer Protocol,超文本传输协议)链接或websocket技术建立的长链接进行通信,其中,当websocket长链接未建立时,第一终端001和第二终端002分别与测试服务器003之间可以通过HTTP链接进行通信,当websocket长链接建立时,第一终端001和第二终端002分别与测试服务器003之间可以通过websocket长链接进行通信,第一终端001和第二终端002之间可以通过测试服务器003进行通信。

其中,第一终端001用于通过第一用户账号登录测试服务器003的应用测试网页,从测试服务器003中下载录制脚本,以及对下载的录制脚本进行回放,以对待测试应用进行测试,以及当接收到测试服务器003发送的测试录制响应时,确定对待测试应用的操作过程进行录制得到的录制脚本。第二终端002用于通过第二用户账号登录测试服务器对应的应用测试网页,并当被第一终端001通过测试服务器003进行远程控制时,确定对待测试应用的操作过程进行录制得到的录制脚本。测试服务器003用于对第一终端001登录应用测试网页后的各个操作进行响应,以及对第二终端002登录应用测试网页后的各个操作进行响应。

需要说明的是,第一终端001可以是手机、个人数字助理、计算机、平板设备等终端;第二终端002也可以是手机、个人数字助理、计算机、平板设备等终端;测试服务器003可以是一台服务器,也可以是多台服务器组成的服务器集群。

另外,第一终端001可以通过USB(Universal Serial Bus,通用串行总线)连接其他终端并与其他终端进行通信,同样地,第二终端002也可以通过USB连接其他终端并与其他终端进行通信,其中,其他终端可以是手机、个人数字助理、计算机、平板设备等终端。

本发明实施例提供了一种应用测试方法,参见图2,该方法包括:

步骤201:当检测到目标应用的应用测试指令时,获取目标应用对应的多个脚本描述信息,每个脚本描述信息用于对目标应用中对应功能进行测试的录制脚本进行描述。

步骤202:当检测到目标录制脚本的选择指令时,下载目标录制脚本,目标录制脚本为多个录制脚本中的任一录制脚本,多个录制脚本与多个脚本描述信息一一对应。

步骤203:基于目标录制脚本,对目标应用进行测试。

在本发明实施例中,当第一终端检测目标应用的应用测试指令时,可以获取目标应用对应的多个脚本描述信息,当检测到目标录制脚本的选择指令时,第一终端可以直接下载测试服务器存储的目标录制脚本,而无需手动对目标应用进行操作,以录制得到录制脚本,从而第一终端可以直接通过对下载的录制脚本进行多次回放以对目标应用重复测试,进而增强了测试的灵活性,且由于得到录制脚本时无需手动操作从而提高了应用的测试效率。

可选地,获取目标应用对应的多个脚本描述信息之后,还包括:

当未检测到目标录制脚本的选择指令但检测到目标应用的测试录制指令时,获取终端信息列表,终端信息列表包括多个终端标识和各个终端当前连接的其他终端标识;

当检测到目标终端标识的选择指令时,基于目标终端确定对目标应用的操作过程进行录制得到的录制脚本,目标终端标识为终端信息列表显示的任一终端标识;

基于录制得到的录制脚本,对目标应用进行测试。

可选地,基于目标终端确定对目标应用的操作过程进行录制得到的录制脚本,包括:

当目标终端标识为第一终端标识时,通过第一终端确定对目标应用的操作过程进行录制得到的录制脚本,第一终端为检测到目标应用的应用测试指令的终端;

当目标终端标识为第二终端标识时,通过对第二终端进行远程控制,由第二终端确定对目标应用的操作过程进行录制得到的录制脚本,第二终端标识为多个终端标识中除第一终端标识之外的任一终端标识;

当目标终端标识为第二终端当前连接的其他终端标识时,向第二终端发送操作录制提示消息,以提示第二终端对应的用户对第二终端当前连接的其他终端进行操作以录制得到录制脚本。

可选地,通过第一终端确定对目标应用的操作过程进行录制得到的录制脚本,包括:

获取第一网络协议IP地址和第一端口号,第一IP地址为当前连接网络所使用的网络协议IP地址,第一端口号为当前处于空闲状态的端口号;

发送第一测试录制请求,第一测试录制请求中携带第一IP地址和第一端口号;

当接收到测试录制响应时,确定对目标应用的操作过程进行录制得到的录制脚本。

可选地,通过对第二终端进行远程控制,由第二终端确定对目标应用的操作过程进行录制得到的录制脚本,包括:

获取第一IP地址和第一端口号;

发送第二测试录制请求,第二测试录制请求中携带第一IP地址、第一端口号和第二终端标识;

当接收到测试录制响应时,通过对第二终端进行远程控制,由第二终端确定对目标应用的操作过程进行录制得到的录制脚本。

可选地,该方法还包括:

当目标终端标识为第一终端标识时,通过第一终端生成录制脚本对应的脚本描述信息,并发送录制脚本和录制脚本对应的脚本描述信息;或者,

当目标终端标识为第二终端标识时,通过对第二终端进行控制,由第二终端生成录制脚本对应的脚本描述信息,并发送录制脚本和录制脚本对应的脚本描述信息。

上述所有可选技术方案,均可按照任意结合形成本公开的可选实施例,本发明实施例对此不再一一赘述。

本发明实施例提供了一种应用测试方法,参见图3,该方法包括:

步骤301:当检测到目标应用的应用测试指令时,获取目标应用对应的多个脚本描述信息,每个脚本描述信息用于对目标应用中对应功能进行测试的录制脚本进行描述。

其中,第一终端获取目标应用对应的多个脚本描述信息方式可以为下述两种方式。

第一种方式:向测试服务器发送目标应用的应用测试请求,该应用测试请求中可以包括目标应用标识,当测试服务器接收到该目标应用的应用测试请求时,可以基于目标应用标识,从存储的应用标识与脚本描述信息之间的对应关系中,获取目标应用对应的多个脚本描述信息,将获取的多个脚本描述信息发送给第一终端,第一终端接收多个脚本描述信息。

第二种方式:从本地获取存储的目标应用对应的多个脚本描述信息。其中,第一终端中存储的目标应用对应的多个脚本描述信息可以为事先为从测试服务器中获取得到,且第一终端在连接网络时可以与测试服务器保持脚本信息的同步更新,以确保第一终端存储的目标应用对应的多个脚本描述信息为测试服务器最新更新的脚本描述信息。

需要说明的是,该目标应用的应用测试指令用于指示对目标应用进行测试,且该目标应用的应用测试指令可以由用户通过指定操作触发,该指定操作可以为在当前显示界面中对目标应用的应用测试选项的点击操作、预设轨迹的滑动操作、语音操作等等。

另外,脚本描述信息用于对目标应用中对应功能进行测试的录制脚本进行描述。比如,目标应用可以为酷狗音乐,目标应用中的对应功能可以为下载音乐功能,则录制脚本可以为下载音乐脚本,相应地,该脚本描述信息可以为“酷狗音乐:下载音乐”。

再者,第一终端以及下述步骤中提及的第二终端均可以通过登录测试服务器的应用测试网页,以通过HTTP链接与该测试服务器建立连接,在该应用测试网页的页面中,可以显示操作栏、录制代码展示区、回放日志打印区等等,其中,操作栏可以用于显示录制相关的选项,录制代码展示区可以用于实时显示录制脚本的录制代码,回放日志打印区可以用于显示回放录制脚本的记录并显示打印该记录的选项。

另外,从测试服务器中获取目标应用对应的多个脚本描述信息之后,第一终端还可以显示该多个脚本描述信息,以使用户可以根据该多个脚本描述信息获知自己可选择的脚本,从而从目标应用对应的多个录制脚本中,选择自己需要的录制脚本对目标应用进行测试。

步骤302:当检测到目标录制脚本的选择指令时,下载目标录制脚本,该目标录制脚本为多个录制脚本中的任一录制脚本,多个录制脚本与多个脚本描述信息一一对应。

需要说明的是,该目标录制脚本的选择指令用于从各个脚本描述信息所对应的录制脚本中选择出目标录制脚本,且该目标录制脚本的选择指令可以由用户通过指定操作触发,该指定操作可以为对目标录制脚本选项的点击操作、预设轨迹的滑动操作、语音操作等等。

另外,测试服务器中存储的目标应用对应的多个录制脚本可以为在当前时间之前连接过测试服务器的其他终端上传的针对于目标应用的录制脚本该目标录制脚本,其中,在当前时间之前连接过测试服务器的其他终端录制脚本的过程与下述步骤305中第一终端通过目标终端录制脚本的过程类似。

步骤303:基于目标录制脚本,对目标应用进行测试。

第一终端通过对下载的目标录制脚本进行多次回放,也即是将目标录制脚本所录制的操作过程重复执行多次,以实现对第一终端中安装的目标应用进行测试,从而可以使第一终端对应的用户确定目标应用用户界面提供服务时的稳定性。在实际应用中,当第一终端对应的用户需要测试其他终端中安装的目标应用时,可以通过第一终端将目标录制脚本发送给其他终端,从而其他终端在接收到目标录制脚本之后,可以对目标录制脚本进行多次回放,以对其他终端中安装的目标应用进行测试。

步骤304:当未检测到目标录制脚本的选择指令但检测到目标应用的测试录制指令时,获取终端信息列表,该终端信息列表包括多个终端标识和各个终端当前连接的其他终端标识。

其中,当第一终端检测到目标应用的测试录制指令时,可以向测试服务器发送目标应用的测试录制请求,当测试服务器接收到该目标应用的测试录制请求时,将存储的终端信息列表发送给第一终端,第一终端显示该终端信息列表。

当用户从第一终端显示的多个脚本描述信息中并未找到自己所需的录制脚本时,该用户可以对第一终端触发测试录制指令,从而自己录制目标应用的录制脚本。因此,当第一终端未检测到目标录制脚本的选择指令但检测到目标应用的测试录制指令时,也即是用户没有选择测试服务器提供的录制脚本,而是选择自己录制脚本时,第一终端可以向测试服务器发送目标应用的测试录制请求,当测试服务器接收到该目标应用的测试录制请求时,可以将存储的终端信息列表发送给第一终端,第一终端接收到后可以显示该终端信息列表,以使用户可以从该终端信息列表中选择一个终端进行录制。

需要说明的是,测试服务器可以将当前连接的所有终端的终端标识,以及连接所有终端的其他终端的终端标识存储至终端信息列表中,并实时更新该终端信息列表,以当接收到第一终端发送的目标应用的测试录制请求时,将该终端信息列表发送给第一终端。

另外,该目标应用的测试录制指令用于指示对目标应用进行录制得到录制脚本,且该目标应用的测试录制指令可以由用户通过指定操作触发,该指定操作可以为对目标应用的测试录制选项的点击操作、预设轨迹的滑动操作、语音操作等等。

再者,该终端标识用于唯一标识与测试服务器当前连接的终端,比如,该终端标识可以为该终端的名称、型号、该终端的名称与型号通过预设方式进行组合后的信息等等。

步骤305:当检测到目标终端标识的选择指令时,基于目标终端确定对目标应用的操作过程进行录制得到的录制脚本,该目标终端标识为终端信息列表显示的任一终端标识。

由于该终端信息列表中包括多个终端标识和各个终端当前连接的其他终端标识,且该多个终端标识为与测试服务器当前连接的终端标识,因此目标终端标识可以为第一终端标识、第一终端当前连接的其他终端标识、第二终端标识或者第二终端当前连接的其他终端标识,也即是该目标终端可以为第一终端、第一终端当前连接的其他终端、第二终端或者第二终端当前连接的其他终端。其中,第一终端标识为第一终端的标识,第二终端为多个终端中除第一终端之外的任一终端,相应地,第二终端标识为多个终端标识中除第一终端标识之外的任一终端标识。其中,第一终端当前可以通过USB连接其他终端,同样地,第二终端当前也可以通过USB连接其他终端。

由于当目标终端不同时,第一终端基于目标终端确定对目标应用的操作过程进行录制得到的录制脚本的方法也不同,因此,接下来通过下面几种可能的情况,对第一终端基于目标终端确定对目标应用的操作过程进行录制得到的录制脚本的方法分别进行说明:

第一种可能的情况:当目标终端标识为第一终端标识时,通过第一终端确定对目标应用的操作过程进行录制得到的录制脚本。

其中,当目标终端标识为第一终端标识时,第一终端获取第一IP地址和第一端口号,第一IP地址为当前连接网络所使用的IP地址,第一端口号为当前处于空闲状态的端口号;向测试服务器发送第一测试录制请求,第一测试录制请求中携带第一IP地址和第一端口号;当接收到测试服务器发送的测试录制响应时,确定对目标应用的操作过程进行录制得到的录制脚本。

其中,第一终端获取第一IP地址和第一端口号,之后可以向测试服务器发送第一测试录制请求;当测试服务器接收到该第一测试录制请求时,可以基于第一测试录制请求中携带的第一IP地址和第一端口号,通过websocket技术与第一终端建立websocket长链接,此时第一终端与测试服务器之间可以通过建立的websocket长链接进行通信;websocket长链接建立之后,第一终端对目标应用的操作过程进行录制,也即是将检测到的对目标应用执行的操作所对应的位置,以及该操作所触发的目标应用选项记录下来,并基于上述记录的位置和目标应用选项,以预设格式生成录制代码;通过与测试服务器之间的websocket长链接将录制代码实时推送至测试服务器;该测试服务器在接收到第一终端发送的录制代码时可以刷新应用测试网页,之后由第一终端显示刷新的应用测试网页,从而使当前使用第一终端的用户可以及时获取到第一终端的录制代码;当第一终端检测到目标应用的停止录制指令时停止录制,从而得到包括录制代码的录制脚本。

在第一种可能的情况中,第一终端与测试服务器之间可以通过第一IP地址和第一端口号建立连接,从而当第一终端通过自身进行录制时,可以与测试服务器之间同步录制代码等数据。

进一步地,当第一终端检测到目标应用的停止录制指令时,同时可以向测试服务器发送长链接断开请求,以使测试服务器接收到该长链接断开请求时断开与第一终端之间的websocket长链接。当测试服务器断开与第一终端之间的websocket长链接之后,由于第一终端仍然登录应用测试网页,因此测试服务器与第一终端之间仍可通过HTTP链接继续进行通信。

进一步地,当目标终端标识为第一终端标识时,通过第一终端可以生成录制脚本对应的脚本描述信息,并可以将录制脚本和录制脚本对应的脚本描述信息发送给测试服务器,使测试服务器存储录制脚本和录制脚本对应的描述信息,从而可以使之后连接该测试服务器的其他终端可以从测试服务器中获取到第一终端录制的脚本,以实现录制脚本的共享。

其中,第一终端基于对目标应用的操作过程进行录制得到的录制脚本,以预设生成格式生成该录制脚本对应的脚本描述信息,并将录制脚本和该录制脚本对应的脚本描述信息通过与测试服务器的websocket长链接发送给测试服务器,测试服务器接收并存储第一终端发送的录制脚本和该录制脚本对应的脚本描述信息。

比如,目标应用可以为酷狗音乐,目标应用中的对应功能可以为下载音乐功能,预设生成格式可以为“应用名称:应用对应的待测试功能”,则第一终端基于对酷狗音乐应用的下载音乐操作过程进行录制得到的录制脚本,生成的脚本描述信息可以为“酷狗音乐:下载音乐”。

第二种可能的情况:当目标终端标识为第一连接终端标识时,向第一连接终端发送录制请求,并通过第一连接终端确定对目标应用的操作过程进行录制得到的录制脚本,第一连接终端为第一终端当前连接的其他终端中的任一终端。

其中,第一终端获取第一IP地址和第一端口号,之后可以向测试服务器发送第一测试录制请求;当测试服务器在接收到该第一测试录制请求时,可以基于第一测试录制请求中携带的第一IP地址和第一端口号,通过websocket技术与第一终端建立websocket长链接,此时第一终端与测试服务器之间可以通过建立的websocket长链接进行通信;websocket长链接建立之后,第一终端向第一连接终端发送录制请求;在第一连接终端接收到该录制请求之后,对目标应用的操作过程进行录制,并将录制得到的录制代码发送给第一终端;第一终端接收到录制代码时,可以通过与测试服务器之间的websocket长链接将录制代码实时推送至测试服务器,该测试服务器在接收到第一终端发送的录制代码时可以刷新应用测试网页,之后由第一终端显示刷新的应用测试网页,从而使当前使用第一终端的用户可以及时查看到第一终端的录制代码;当第一终端检测到目标应用的停止录制指令时,向第一连接终端发送停止录制请求;第一连接终端接收到停止录制请求时停止录制,从而第一终端得到包括录制代码的录制脚本。

其中,第一连接终端对目标应用的操作过程进行录制得到的录制代码的实现方式,与第一种可能的情况中第一终端对目标应用的操作过程进行录制得到的录制代码的实现方式相同,本实施例在此不做赘述。

可选地,当第一连接终端为安装有安卓系统的手机时,该手机通过USB连接第一终端时可以通过用户触发开启手机的ADB(Android Debug Bridge,安卓调试桥),从而通过手机的ADB功能来实现上述实现过程中接收录制请求、发送录制代码等步骤。

另外,当第一终端检测到目标应用的停止录制指令时,同样也可以向测试服务器发送长链接断开请求,以使测试服务器断开与第一终端之间的websocket长链接,之后测试服务器与第一终端之间可以通过HTTP链接继续进行通信。

第三种可能的情况:当目标终端标识为第二终端标识时,通过对第二终端进行远程控制,由第二终端确定对目标应用的操作过程进行录制得到的录制脚本;

其中,当目标终端标识为第二终端标识时,第一终端获取第一IP地址和第一端口号;向测试服务器发送第二测试录制请求,该第二测试录制请求中携带第一IP地址、第一端口号和第二终端标识;当接收到测试服务器发送的测试录制响应时,通过测试服务器对第二终端进行远程控制,由第二终端确定对目标应用的操作过程进行录制得到的录制脚本。

其中,第一终端获取第一IP地址和第一端口号,之后可以向测试服务器发送第二测试录制请求;当测试服务器接收到该第二测试录制请求时,可以根据第二终端标识向第二终端发送该第二测试录制请求;第二终端接收并显示该第二测试录制请求,之后当检测到同意测试录制操作时,向测试服务器发送同意测试录制消息,该同意测试录制消息中携带第二IP地址和第二端口号,第二IP地址为第二终端当前连接网络所使用的IP地址,第二端口号为第二终端当前处于空闲状态的端口号;当测试服务器接收到该同意测试录制消息时,向第一终端发送测试录制响应,并基于第一IP地址和第一端口号,通过websocket技术与第一终端建立websocket长链接,以及基于第二IP地址和第二端口号,通过websocket技术与第二终端建立websocket长链接;当第一终端接收到该测试录制响应时,可以通过测试服务器对第二终端进行远程控制,也即是通过测试服务器分别与第一终端和第二终端建立的websocket长链接对第二终端进行远程控制;第二终端对目标应用的操作过程进行录制得到录制代码,并通过测试服务器分别与第一终端和第二终端建立的websocket长链接将录制代码实时发送至第一终端,当检测到目标应用的停止录制指令时,第二终端停止录制,从而得到包括录制代码的录制脚本,并发送给第一终端。

其中,第二终端对目标应用的操作过程进行录制得到的录制代码的实现方式,与第一种可能的情况中第一终端对目标应用的操作过程进行录制得到的录制代码的实现方式相同,本实施例在此不做赘述。

在第二种可能的情况中,第一终端与测试服务器之间可以通过第一IP地址和第一端口号建立连接,第二终端与测试服务器之间可以通过第二IP地址和第二端口号建立连接,从而当第一终端通过第二终端进行录制时,可以与测试服务器之间同步录制代码等数据。

需要说明的是,由于第二终端中可能并未安装目标应用,因此在第一终端对第二终端进行远程控制之后,第一终端可以通过远程控制在第二终端中安装目标应用,然后由第二终端进行录制,之后当第二终端结束录制时,第一终端可以再次通过远程控制将安装在第二终端中的目标应用卸载,从而不影响第二终端的正常使用。

另外,当第二终端检测到目标应用的停止录制指令时,同样也可以向测试服务器发送长链接断开请求,以使测试服务器断开分别与第一终端和第二终端之间的websocket长链接,之后测试服务器分别与第一终端和第二终端之间可以通过HTTP链接继续进行通信。

进一步地,当目标终端标识为第二终端标识时,第一终端可以通过对第二终端进行控制,由第二终端生成录制脚本对应的脚本描述信息,并将录制脚本和录制脚本对应的脚本描述信息发送给测试服务器,以使测试服务器存储录制脚本和录制脚本对应的描述信息,从而可以使之后连接该测试服务器的其他终端可以从测试服务器中获取到第一终端通过第二终端录制的脚本,以实现录制脚本的共享。

其中,第一终端通过测试服务器分别与第一终端和第二终端的websocket长链接对第二终端进行控制,使第二终端基于对目标应用的操作过程进行录制得到的录制脚本,以预设格式生成该录制脚本对应的脚本描述信息,并将录制脚本和该录制脚本对应的脚本描述信息发送给测试服务器,当测试服务器接收到第二终端发送的录制脚本和该录制脚本对应的脚本描述信息存储在本地。

进一步地,当第二终端接收到第二测试录制请求之后,当检测到拒绝测试录制操作时,向测试服务器发送拒绝测试录制消息;当测试服务器接收到该拒绝测试录制消息时,向第一终端发送拒绝测试录制响应;当第一终端接收到该拒绝测试录制响应时,再次显示终端信息列表,以当检测到该终端信息列表除第二终端之外的另一终端标识的选择指令时,通过测试服务器向另一终端发送测试录制请求,直至通过终端信息列表中的任一终端确定对目标应用的操作过程进行录制得到的录制脚本。

第四种可能的情况:当目标终端标识为第二连接终端标识时,向第二终端发送操作录制提示消息,以提示第二终端对应的用户对第二终端当前连接的其他终端进行操作以录制得到录制脚本,该第二连接终端为第二终端当前连接的其他终端中的任一终端。

其中,当目标终端标识为第二连接终端标识时,第一终端获取第一IP地址和第一端口号;向测试服务器发送第三测试录制请求和操作录制提示消息,该第三测试录制请求中携带第一IP地址、第一端口号和第二终端标识,该操作录制提示消息包括第二终端对应的用户需要对第二连接终端执行的操作;当接收到测试服务器发送的测试录制响应时,通过第二连接终端确定对目标应用的操作过程进行录制得到的录制脚本。

其中,第一终端获取第一IP地址和第一端口号,之后可以向测试服务器发送第三测试录制请求和操作录制提示消息;当测试服务器接收到该第三测试录制请求和操作录制提示消息时,可以根据第二终端标识向第二终端发送该第三测试录制请求和操作录制提示消息;第二终端接收并显示该第三测试录制请求和操作录制提示消息,之后当检测到同意测试录制操作时,向测试服务器发送同意测试录制消息,该同意测试录制消息中携带第二IP地址和第二端口号,第二IP地址为第二终端当前连接网络所使用的IP地址,第二端口号为第二终端当前处于空闲状态的端口号;当测试服务器接收到该同意测试录制消息时,向第一终端发送测试录制响应,并基于第一IP地址和第一端口号,通过websocket技术与第一终端建立websocket长链接,以及基于第二IP地址和第二端口号,通过websocket技术与第二终端建立websocket长链接;当第一终端接收到该测试录制响应时,可以通过测试服务器对第二终端进行远程控制,也即是通过测试服务器分别与第一终端和第二终端建立的websocket长链接对第二终端进行远程控制;第二终端通过第二连接终端对目标应用的操作过程进行录制得到录制代码,并通过测试服务器分别与第一终端和第二终端建立的websocket长链接将录制代码实时发送至第一终端;当第二终端检测到目标应用的停止录制指令时,向第二连接终端发送停止录制请求;第二连接终端接收到停止录制请求时停止录制,从而得到包括录制代码的录制脚本;第一终端接收第二连接终端通过第二终端和测试服务器发送的录制脚本。

其中,第二终端通过第二连接终端对目标应用的操作过程进行录制得到的录制代码的实现方式,与第二种可能的情况中第一终端通过第一连接终端对目标应用的操作过程进行录制得到的录制代码的实现方式相同,本实施例在此不做赘述。

需要说明的是,由于第二连接终端中可能并未安装目标应用,因此第一终端发送的操作录制提示消息中除了可以包括第二终端对应的用户需要对目标应用执行的录制操作之外,还可以包括下载和卸载目标应用的操作。其中,第二终端可以以文本格式显示该操作录制提示消息,从而使第二终端对应的用户看到后可以获知自己需要进行哪些录制操作。

另外,当第二终端检测到目标应用的停止录制指令时,同样也可以向测试服务器发送长链接断开请求,以使测试服务器断开分别与第一终端和第二终端之间的websocket长链接,之后测试服务器分别与第一终端和第二终端之间可以通过HTTP链接继续进行通信。

进一步地,当第二终端接收到第三测试录制请求和操作录制提示消息之后,当检测到拒绝测试录制操作时,向测试服务器发送拒绝测试录制消息;当测试服务器接收到该拒绝测试录制消息时,向第一终端发送拒绝测试录制响应;当第一终端接收到该拒绝测试录制响应时,再次显示终端信息列表,以当检测到该终端信息列表除第二终端之外的另一终端标识的选择指令时,通过测试服务器向另一终端发送测试录制请求,直至通过终端信息列表中的任一终端确定对目标应用的操作过程进行录制得到的录制脚本。

更进一步地,在第一终端录制脚本的过程中,当检测到目标单元代码标识的选择操作时,可以从测试服务器中获取该目标单元代码,并将该目标单元代码插入到当前显示的录制代码中,该目标单元代码为测试服务器的单元代码列表中的任一单元代码,该单元代码为测试服务器存储的对目标应用执行的一个或多个操作所确定的录制代码。其中,单元代码可以是由当前时间之前连接过该测试服务器的终端的用户上传至测试服务器,并由测试服务器的管理员进行人工审核后存储的单元代码,进而测试服务器可以将存储的单元代码的标识和功能描述信息等显示在应用测试网页的单元代码列表中,从而将存储的单元代码提供给连接测试服务器的用户使用。同样地,在第一终端通过第二终端或者第二终端当前连接的其他终端录制脚本的过程中,也可以在当前显示的录制代码中插入任一单元代码。

在上述四种可能的情况中,第一终端可以分别通过自身、连接自身的终端、第二终端以及连接第二终端的终端,对目标应用的操作过程进行录制,从而得到录制脚本,也即是第一终端不局限于只通过自身得到录制脚本,从而可以避免第一终端自身不适合录制的问题,进而可以增强测试的灵活性。

步骤306:基于录制得到的录制脚本,对目标应用进行测试。

第一终端通过对录制得到的录制脚本进行多次回放,也即是将该录制脚本所录制的操作过程重复执行多次,以实现对第一终端中安装的目标应用进行测试,从而可以使第一终端对应的用户确定目标应用用户界面提供服务时的稳定性。在实际应用中,当第一终端对应的用户需要测试其他终端中安装的目标应用时,可以通过第一终端将录制得到的录制脚本发送给其他终端,从而其他终端在接收到该录制脚本之后,可以对该录制脚本进行多次回放,以对其他终端中安装的目标应用进行测试。

当第一终端对应的用户从测试服务器中未找到自己需要的录制脚本时,第一终端可以通过上述步骤304至步骤306进行脚本的录制,以对目标应用进行测试,之后第一终端对应的用户可以将自己录制的脚本上传至测试服务器作为共享资源,从而测试服务器可以作为一个脚本共享平台为众多用户提供多个录制脚本,使用户之间可以资源共享。

在本发明实施例中,当第一终端检测目标应用的应用测试指令时,可以获取目标应用对应的多个脚本描述信息,当检测到目标录制脚本的选择指令时,第一终端可以直接下载测试服务器存储的目标录制脚本,而无需手动对目标应用进行操作,以录制得到录制脚本,从而第一终端可以直接通过对下载的录制脚本进行多次回放以对目标应用重复测试,进而增强了测试的灵活性,且由于得到录制脚本时无需手动操作从而提高了应用的测试效率。

参见图4A,本发明实施例提供了一种应用测试装置400,该装置包括:第一获取模块401、下载模块402和测试模块403。

第一获取模块401,用于当检测到目标应用的应用测试指令时,获取目标应用对应的多个脚本描述信息,每个脚本描述信息用于对目标应用中对应功能进行测试的录制脚本进行描述;

下载模块402,用于当检测到目标录制脚本的选择指令时,下载目标录制脚本,目标录制脚本为多个录制脚本中的任一录制脚本,多个录制脚本与多个脚本描述信息一一对应;

测试模块403,基于目标录制脚本,对目标应用进行测试。

可选地,参见图4B,该装置还包括:

第二获取模块404,用于当未检测到目标录制脚本的选择指令但检测到目标应用的测试录制指令时,获取终端信息列表,终端信息列表包括多个终端标识和各个终端当前连接的其他终端标识;

确定模块405,用于当检测到目标终端标识的选择指令时,基于目标终端确定对目标应用的操作过程进行录制得到的录制脚本,目标终端标识为终端信息列表显示的任一终端标识;

测试模块403,还用于基于录制得到的录制脚本,对目标应用进行测试。

可选地,参见图4C,确定模块405包括:

第一确定单元4051,用于当检测到目标终端标识的选择指令时,当目标终端标识为第一终端标识时,通过第一终端确定对目标应用的操作过程进行录制得到的录制脚本,第一终端为检测到目标应用的应用测试指令的终端;

第二确定单元4052,用于当目标终端标识为第二终端标识时,通过对第二终端进行远程控制,由第二终端确定对目标应用的操作过程进行录制得到的录制脚本,第二终端标识为多个终端标识中除第一终端标识之外的任一终端标识;

发送单元4053,用于当目标终端标识为第二终端当前连接的其他终端标识时,向第二终端发送操作录制提示消息,以提示第二终端对应的用户对第二终端当前连接的其他终端进行操作以录制得到录制脚本。

可选地,参见图4D,第一确定单元4051包括:

第一获取子单元40511,用于当检测到目标终端标识的选择指令时,当目标终端标识为第一终端标识时,获取第一网络协议IP地址和第一端口号,第一IP地址为当前连接网络所使用的网络协议IP地址,第一端口号为当前处于空闲状态的端口号;

第一发送子单元40512,用于发送第一测试录制请求,第一测试录制请求中携带第一IP地址和第一端口号;

第一确定子单元40513,用于当接收到测试录制响应时,确定对目标应用的操作过程进行录制得到的录制脚本。

可选地,参见图4E,第二确定单元4052包括:

第二获取子单元40521,用于当目标终端标识为第二终端标识时,获取第一IP地址和第一端口号;

第二发送子单元40522,用于发送第二测试录制请求,第二测试录制请求中携带第一IP地址、第一端口号和第二终端标识;

第二确定子单元40523,用于当接收到测试录制响应时,通过对第二终端进行远程控制,由第二终端确定对目标应用的操作过程进行录制得到的录制脚本。

可选地,参见图4F,该装置还包括:

第一生成模块406,用于当目标终端标识为第一终端标识时,通过第一终端生成录制脚本对应的脚本描述信息,并发送录制脚本和录制脚本对应的脚本描述信息;或者,

第二生成模块407,用于当目标终端标识为第二终端标识时,通过对第二终端进行控制,由第二终端生成录制脚本对应的脚本描述信息,并发送录制脚本和录制脚本对应的脚本描述信息。

综上所述,在本发明实施例中,当第一终端检测目标应用的应用测试指令时,可以获取目标应用对应的多个脚本描述信息,当检测到目标录制脚本的选择指令时,第一终端可以直接下载测试服务器存储的目标录制脚本,而无需手动对目标应用进行操作,以录制得到录制脚本,从而第一终端可以直接通过对下载的录制脚本进行多次回放以对目标应用重复测试,进而增强了测试的灵活性,且由于得到录制脚本时无需手动操作从而提高了应用的测试效率。

需要说明的是:上述实施例提供的应用测试装置在测试应用时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用测试的装置与应用测试的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1