CN109542775B - 一种测试脚本的生成和执行方法及装置 - Google Patents
一种测试脚本的生成和执行方法及装置 Download PDFInfo
- Publication number
- CN109542775B CN109542775B CN201811309257.XA CN201811309257A CN109542775B CN 109542775 B CN109542775 B CN 109542775B CN 201811309257 A CN201811309257 A CN 201811309257A CN 109542775 B CN109542775 B CN 109542775B
- Authority
- CN
- China
- Prior art keywords
- application
- mobile terminal
- communication port
- operation instruction
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种测试脚本的生成和执行方法及装置,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本,以及实现自动化测试操作。移动终端中的不同应用可以对应专用的通信端口和测试模块,在脚本生成阶段,控制端可以通过通信端口将操作指令发送给移动终端,由移动终端执行操作,并由测试模块将操作信息返回给控制端,从而生成测试脚本;在脚本执行阶段,控制端通过通信端口获取界面元素,并将待操作的界面元素,以及对应的操作指令发送给测试模块,以便测试模块执行测试操作。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试脚本的生成方法及装置、以及一种测试脚本的执行方法及装置。
背景技术
随着移动终端软件和硬件的不断发展,为满足用户的各种需求,开发出了各种应用程序。而对于应用程序中的功能,一般也需要在自动化测试环境中进行测试。在测试过程中,通常可以按照不同的测试需求,预先生成包含特定测试操作的测试脚本,从而可以通过测试脚本进行自动化测试。
而在各行各业紧密相连的背景下,各种应用相互依托、互相支持,这就导致了可以通过在应用之间跳转操作的方式实现特定的业务,比如购物应用与支付应用之间、出行应用与社交应用之间、新闻应用与浏览器应用之间等,均可能以跳转的方式并在不同应用中通过不同的操作实现特定的业务。
而应用之间能否正常的通过跳转的方式相互开启、并在不同应用中执行操作,也逐渐成为自动化测试要关注的重点。所以就需要提出一种方案,能够针对应用之间的跳转和操作生成测试脚本,并能够根据测试脚本实现应用跳转和操作的测试。
发明内容
本发明实施例提供一种测试脚本的生成方法及装置,用于针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本。
本发明实施例提供一种测试脚本的执行方法及装置,用于针对移动终端中不同应用之间的跳转和操作实现自动化测试操作。
为解决上述技术问题,本发明实施例是这样实现的:
本发明实施例采用下述技术方案:
一种测试脚本的生成方法,应用于控制端,包括:
当确定出移动终端的前台应用为第一应用时,接收针对移动终端中第一应用界面的操作指令,并通过第一通信端口发送至所述移动终端;
获取安装在移动终端中的第一测试模块采集到的、针对所述第一应用的操作信息,并将所述操作信息记录在预备测试脚本中;
当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端;
获取安装在移动终端中的第二测试模块采集到的、针对所述第二应用的操作信息,并将所述操作信息记录在所述预备测试脚本中;
根据所述预备测试脚本中记录的操作信息,生成测试脚本;
其中,所述应用界面为移动终端中显示界面的投影,所述通信端口用于实现对应应用与控制端之间进行通信,所述测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,所述操作信息中包含操作指令以及对应的界面元素。
一种测试脚本的生成方法,应用于移动终端,包括:
当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用界面的操作指令,并执行对应操作;
通过第一测试模块采集针对第一应用的操作信息,并发送至控制端;
当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用界面的操作指令,并执行对应操作;
通过第二测试模块采集针对第二应用的操作信息,并发送至控制端。
一种测试脚本的执行方法,应用于控制端,包括:
当确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据所述第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令;
将所述待操作第一界面元素、以及对应的第一操作指令,通过所述第一通信端口发送至移动终端中的第一测试模块;
当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,通过第二通信端口获取第二应用界面的第二界面元素集合,并根据所述第二界面元素集合,从测试脚本中查找待操作第二界面元素,以及对应的第二操作指令;
将所述待操作第二界面元素、以及对应的第二操作指令,通过所述第二通信端口发送至移动终端中的第二测试模块。
一种测试脚本的执行方法,应用于移动终端,包括:
当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用的待操作第一界面元素、以及对应的第一操作指令;
通过第一测试模块对所述待操作第一界面元素执行对应的第一操作指令;
当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用的待操作第二界面元素、以及对应的第二操作指令;
通过第二测试模块对所述待操作第二界面元素执行对应的第二操作指令。
一种测试脚本的生成装置,应用于控制端,包括:第一传输单元、第一处理单元、第二传输单元、第二处理单元、以及脚本生成单元,其中,
所述第一传输单元,用于当确定出移动终端的前台应用为第一应用时,接收针对移动终端中第一应用界面的操作指令,并通过第一通信端口发送至所述移动终端;
所述第一处理单元,用于获取安装在移动终端中的第一测试模块采集到的、针对所述第一应用的操作信息,并将所述操作信息记录在预备测试脚本中;
所述第二传输单元,用于当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端;
所述第二处理单元,用于获取安装在移动终端中的第二测试模块采集到的、针对所述第二应用的操作信息,并将所述操作信息记录在所述预备测试脚本中;
所述脚本生成单元,用于根据所述预备测试脚本中记录的操作信息,生成测试脚本;
其中,所述应用界面为移动终端中显示界面的投影,所述通信端口用于实现对应应用与控制端之间进行通信,所述测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,所述操作信息中包含操作指令以及对应的界面元素。
一种测试脚本的生成装置,应用于移动终端,包括:第一执行单元、第一传输单元、第二执行单元、以及第二传输单元,其中,
所述第一执行单元,用于当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用界面的操作指令,并执行对应操作;
所述第一传输单元,用于通过第一测试模块采集针对第一应用的操作信息,并发送至控制端;
所述第二执行单元,用于当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用界面的操作指令,并执行对应操作;
所述第二传输单元,用于通过第二测试模块采集针对第二应用的操作信息,并发送至控制端。
一种测试脚本的执行装置,应用于控制端,包括:第一处理单元、第一传输模块、第二处理单元、以及第二传输模块,其中,
所述第一处理单元,用于当确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据所述第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令;
所述第一传输模块,用于将所述待操作第一界面元素、以及对应的第一操作指令,通过所述第一通信端口发送至移动终端中的第一测试模块;
所述第二处理单元,用于当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,通过第二通信端口获取第二应用界面的第二界面元素集合,并根据所述第二界面元素集合,从测试脚本中查找待操作第二界面元素,以及对应的第二操作指令;
所述第二传输模块,用于将所述待操作第二界面元素、以及对应的第二操作指令,通过所述第二通信端口发送至移动终端中的第二测试模块。
一种测试脚本的执行装置,应用于移动终端,包括:第一接收单元、第一执行单元、第二接收单元、以及第二执行单元,其中,
所述第一接收单元,用于当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用的待操作第一界面元素、以及对应的第一操作指令;
所述第一执行单元,用于通过第一测试模块对所述待操作第一界面元素执行对应的第一操作指令;
所述第二接收单元,用于当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用的待操作第二界面元素、以及对应的第二操作指令;
所述第二执行单元,用于通过第二测试模块对所述待操作第二界面元素执行对应的第二操作指令。
一种终端设备,该终端设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
由以上实施例提供的技术方案可见,在测试脚本生成阶段,控制端在确定出第一应用为移动终端的前台应用后,在移动终端投影到控制端的第一应用界面中,接收针对第一应用界面的操作指令,并通过为第一应用分配的第一通信端口发送至移动终端,以便移动终端执行该操作指令,移动终端通过安装的第一测试模块采集第一应用的操作信息,并发送给控制端,此后,控制端可以将操作信息记录在预备测试脚本中,在确定出移动终端的前台应用由第一应用跳转到第二应用后,可以通过与上述类似的方式,控制端接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送操作指令,移动终端在执行操作指令时,通过第二测试模块,使控制端获取到操作信息,并再次记录在该预备测试脚本中,最后可以根据预备测试脚本中记录的操作信息,生成测试脚本。在测试脚本执行阶段,控制端在确定出第一应用为移动终端的前台应用后,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令,此后将待操作第一界面元素、以及对应的第一操作指令发送至移动终端中的第一测试模块,以便执行对应的测试操作,当确定出移动终端的前台应用由第一应用跳转到第二应用时,通过类似方式,由第二测试模块执行对应的测试操作。
也即,移动终端中的不同应用可以对应专用的通信端口和测试模块,在脚本生成阶段,控制端可以通过通信端口将操作指令发送给移动终端,由移动终端执行操作,并由测试模块将操作信息返回给控制端,从而生成测试脚本;在脚本执行阶段,控制端通过通信端口获取界面元素,并将待操作的界面元素,以及对应的操作指令发送给测试模块,以便测试模块执行测试操作。通过该方法,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本,并根据生成的测试脚本,在不同应用之间实现自动化测试跳转和操作。
附图说明
为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的测试脚本的生成方法的流程示意图;
图2为本发明实施例提供的为接收针对第一应用界面的操作指令,并发送至移动终端的示意图;
图3为本发明实施例提供的为接收针对第二应用界面的操作指令,并发送至移动终端的示意图;
图4为本发明实施例提供的监控管理表的示意图;
图5为本发明实施例提供的测试脚本的生成方法的流程示意图;
图6为本发明实施例提供的测试脚本的执行方法的流程示意图;
图7为本发明实施例提供的测试脚本的执行方法的流程示意图;
图8和图9为本发明实施例提供的测试脚本的生成装置的结构示意图;
图10和图11为本发明实施例提供的测试脚本的执行装置的结构示意图;
图12至图15为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明中各实施例提供的技术方案。
实施例1
如前所述,应用之间能否正常的通过跳转的方式相互开启、并在不同应用中执行操作,也逐渐成为自动化测试的重点。比如,在应用A中可以有几步业务操作,并通过跳转操作,开启应用B,并在应用B中再执行业务操作。具体比如,在购物应用中通过搜索操作和下单操作生成订单,并通过支付操作跳转至支付应用,从而在支付应用中通过选择付款方式以及支付校验完成支付。可见,在测试的过程中,需要适应多个应用之间跳转和操作而生成测试脚本,并在执行测试时,也可以在多个应用之间实现跳转和操作。所以,基于这一需求,本发明实施例提供一种测试脚本的生成方法和测试脚本的执行方法,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本,以及实现自动化测试操作。在本发明实施例的生成方法和执行方法中,可以分别应用与控制端和移动终端,也即需要控制端和移动终端配合完成,在本实施例中首先介绍应用在控制端的测试脚本的生成方法,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本。假设该执行主体可以是PC(personal computer,个人计算机),具体流程示意图如图1所示,包括:
步骤102:当确定出移动终端的前台应用为第一应用时,接收针对移动终端中第一应用界面的操作指令,并通过第一通信端口发送至移动终端。
在脚本生成阶段,通常可以将移动终端与控制端建立连接,并将移动终端的显示界面投影至控制端中,以便控制端中可以实时地显示移动终端的界面,据此,从而可以在控制端中,对移动终端的界面发送满足测试需求的操作指令,以便间接地在移动终端中执行操作指令,并由控制端生成测试脚本。此后在自动化测试时,可以根据该测试脚本的内容执行测试操作。所以,在本步骤中,应用界面可以是移动终端中显示界面的投影。
在前文已经介绍,本实施例可以针对不同应用之间的跳转和操作生成自动化测试脚本,则本步骤就可以先确定出移动终端中的前台应用,具体地,每个应用均可以在移动终端的系统中有一个应用标识,尤其是在被开启后,可以在进程中存在一个唯一的应用标识,比如应用A的应用标识就可以是XXX,应用B的应用标识就可以是YYY,等。所以可以通过获取移动终端中前台应用的应用标识,确定出第一应用。具体的实现方式,比如以搭载Android(Google公司开发的操作系统)的移动终端中,可以利用UI Automator实现对应用标识的识别。UI Automator是一个开源测试框架,主要是针对于Android应用UI(User Interface,用户界面)所做的一个自动化测试框架,其可以提供对应用标识、应用控件的识别等。
需要说明的是,本步骤在确定第一应用时,可以预先存储第一应用标识,也即预先存储待测试的第一应用的标识,从而可以根据获取到的移动终端的前台应用的应用标识后,匹配是否为第一应用。也可以不做预先存储的操作,在获取到前台应用的标识后,将该应用确定为第一应用,比如当获取到前台应用的标识为XXX时,将标识为XXX的应用作为第一应用。
在前文已经介绍,可以在控制端中,对移动终端的界面发送满足测试需求的操作指令,以便间接地在移动终端中执行操作指令,并由控制端生成测试脚本,则本步骤就可以接收针对移动终端中第一应用界面的操作指令,并发送至移动终端。具体地,由于控制端中显示有移动终端的第一应用界面,则可以接收针对该第一应用界面的操作指令,并通过为第一应用分配的第一通信端口发送至移动终端,以使移动终端可以根据该操作指令,在第一应用中进行操作,也即将在控制端接收到的针对移动终端第一应用界面的操作指令,以模拟指令的方式,模拟用户在移动终端中的操作指令。而该操作指令,就可以是针对某个界面坐标的点击、长按指令等,可以将这些操作通过第一通信端口发送至移动终端。对于第一通信端口,可以用于实现第一应用与控制端之间进行通信。如图2所示,为接收针对第一应用界面的操作指令,并发送至移动终端的示意图,移动终端可以将第一应用界面投影到控制端中,测试人员可以根据测试需求,在控制端中对第一应用界面发送操作指令,通过指令传输,达到在移动终端中对第一应用进行操作的效果。
在本实施例中,可以分别为不同的应用分配不同的端口,以使不同应用可以通过各自的端口与控制端进行通信,达到互不干扰、防止端口被多个应用占用的效果。而在实际应用中,可以建立一个监控管理机制,管理不同应用与不同端口号的对应关系。所以在一种实施方式中,接收针对移动终端中第一应用界面的操作指令之前,还可以包括:根据第一应用的标识,查找第一应用对应的通信端口;若未查找到,则为该第一应用分配第一通信端口,并与第一应用的标识以对应关系存储;基于预设的测试框架,并根据第一应用的标识添加签名,生成第一测试模块,以及将第一测试模块安装到移动终端中。
具体地,可以在根据应用标识确定出移动终端的前台应用为第一应用后,利用该第一应用的标识,在监控管理中查找是否存在对应的通信端口,若未查找到,可以为该第一应用分配第一通信端口,用于实现第一应用与控制端之间进行通信,具体可以是一个端口号,从而可以在需要时,根据端口号创建连接,此后可以将第一通信端口与第一应用的标识以对应关系存储(可以利用端口号进行对应存储)。
在前文已经介绍,在移动终端中执行操作指令,并由控制端生成测试脚本,而在实际应用中,移动终端在应用中执行操作指令时,基于测试框架生成的测试模块(或称测试包)可以采集到应用的操作信息,其中可以包含操作指令以及对应的界面元素,比如针对某个按键的点击指令,针对某个输入框的输入指令等。所以,在为第一应用分配对应的第一通信端口后,还可以基于预设的测试框架,并根据第一应用的标识添加签名,生成第一测试模块,以及将第一测试模块安装到移动终端中。具体地,在搭载Android的移动终端中,可以基于Instrumentation测试框架生成测试包,Instrumentation是Android测试的核心框架,可以将基于该框架生成的测试模块和被测试程序运行在同一个进程来实现对应用操作信息的记录,以及根据测试脚本实现自动化测试。在本实施例中,可以基于Instrumentation测试框架,生成能够记录应用操作信息、识别界面元素、执行操作等功能的测试包,并根据第一应用的标识,为该测试包签名,从而生成第一测试模块,并对应第一应用安装到移动终端中,从而使得第一测试模块,可以记录第一应用的信息。
步骤104:获取安装在移动终端中的第一测试模块采集到的、针对该第一应用的操作信息,并将所述操作信息记录在预备测试脚本中。
前文已经介绍,可以将操作指令发送给移动终端,并由移动终端在第一应用中执行,且安装在移动终端中的第一测试模块可以记录第一应用的操作信息,所以在本步骤中,控制端可以获取安装在移动终端中的第一测试模块采集到的、针对该第一应用的操作信息,而该操作信息就可以包含操作指令以及对应的界面元素。就如前文所述,比如,针对某个界面中按键的点击指令,或针对某个输入框的输入指令等。
由于本实施例可以应用在针对不同应用之间进行跳转和操作的场景下,所以第一测试模块还可以采集到跳转指令,比如针对跳转按键的点击指令,具体比如在购物应用中“支付”按键就可以是跳转按键;在社交应用中,“导航”按键就可以是跳转案件等。
控制端在获取到操作信息后,可以将其中的操作指令以及对应的界面元素,记录在预备测试脚本中,从而记录每一步的测试操作。这里控制端可以主动从测试模块处获取操作信息,也可以接收测试模块发送来的操作信息。
步骤106:当确定出移动终端的前台应用由第一应用跳转到第二应用时,接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端。
在步骤102中,可以通过前台应用标识确定出第一应用,则在本步骤中,也可以通过识别前台应用标识,确定前台应用由第一应用跳转到第二应用。具体地,也可以通过UIAutomator对前台应用的标识进行识别,而在实现方式上,当前台应用标识发生变化后,可以与确定第一应用类似的方式,根据预设判断是够跳转到第二应用,或应用标识发生变化后,将变化后的应用确定为第二应用。对于跳转的条件,可以通过应用标识的变化间隔,或应用之间的唤醒指令等,判断是否出现跳转。
与步骤102类似,移动终端也可以将第二应用的界面投影到控制端中,控制端接收针对该第二应用界面的操作指令,并通过为第二应用分配的第二通信端口发送至移动终端。如图3所示,为接收针对第二应用界面的操作指令,并发送至移动终端的示意图,移动终端可以将第二应用界面投影到控制端中,测试人员可以根据测试需求,在控制端中对第二应用界面发送操作指令,通过指令传输,达到在移动终端中对第二应用进行操作的效果。需要说明的是,将移动终端的界面投影到控制端中,也可以通过其他的通信端口实现。
与为第一应用分配第一通信端口类似,控制端也可以接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端。而对于第二通信端口的查找和分配,也可以与第一通信端口类似。即在一种实施方式中,接收针对移动终端中第二应用界面的操作指令之前,还可以包括:根据第二应用的标识,查找第二应用对应的通信端口;若未查找到,为第二应用分配第二通信端口,并与第二应用的标识以对应关系存储;基于预设的测试框架,并根据第二应用的标识添加签名,生成第二测试模块,以及将第二测试模块安装到移动终端中。
具体地,可以参照步骤102中记载的方式。如图4所示,为监控管理表的示意图,该监控管理表就可以是监控管理机制在管理不同应用与不同端口号对应关系的体现,图中可以存储有第一应用标识和第二应用标识分别与第一通信端口和第二通信端口的对应关系。
在实际应用中,还有可能从第二应用再跳转回第一应用,此时就可以根据第一应用标识,在监控管理表中查找是否存在对应的通信端口,若查找到,便可以直接根据对应的通信端口进行信息传输。
步骤108:获取安装在移动终端中的第二测试模块采集到的、针对第二应用的操作信息,并将操作信息记录在预备测试脚本中。
在前述步骤中,控制端可以将采集到的针对第二应用的操作信息记录在预备测试脚本中,由于跳转操作是完整的测试操作,所以本步骤中也可以将针对第二应用的操作信息,也记录在预备测试脚本中。可以理解地,在记录的针对不同应用的操作信息之间,均可以由前一应用的跳转操作作为衔接。
步骤110:根据预备测试脚本中记录的操作信息,生成测试脚本。
在前述步骤中,已经将针对不同应用的操作信息记录在预备测试脚本中,则本步骤,可以基于预备测试脚本中记录的操作信息,生成最终的测试脚本。具体地,可以根据预备测试脚本中记录的操作信息,生成测试脚本,也可以通过人工修改的方式对记录的操作信息进行修改,从而生成测试脚本。比如,可以将点击操作修改为查找操作,或添加操作,具体比如在测试能否成功在应用之间进行跳转的场景下,可以在点击前一应用的跳转按键后,检测后一应用中是否存在特定的界面元素,则可以在录制脚本时对该界面元素进行点击,而在生成测试脚本时,修改为检测。还可以直接添加检测操作,等。
由以上实施例提供的方法可见,控制端在确定出第一应用为移动终端的前台应用后,在移动终端投影到控制端的第一应用界面中,接收针对第一应用界面的操作指令,并通过为第一应用分配的第一通信端口发送至移动终端,以便移动终端执行该操作指令,移动终端通过安装的第一测试模块采集第一应用的操作信息,并发送给控制端,此后,控制端可以将操作信息记录在预备测试脚本中,在确定出移动终端的前台应用由第一应用跳转到第二应用后,可以通过与上述类似的方式,控制端接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送操作指令,移动终端在执行操作指令时,通过第二测试模块,使控制端获取到操作信息,并再次记录在该预备测试脚本中,最后可以根据预备测试脚本中记录的操作信息,生成测试脚本。也即,移动终端中的不同应用可以对应专用的通信端口和测试模块,控制端可以通过通信端口将操作指令发送给移动终端,由移动终端执行操作,并由测试模块将操作信息返回给控制端生成测试脚本。通过该方法,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本。
实施例2
基于相同的发明思路,本实施例提供一种测试脚本的生成方法,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本。实施例1介绍的方法可以应用于控制端,而本实施例介绍应用于移动终端的该方法。假设执行主体可以是智能移动终端,该方法的具体流程示意图可以如图5所示,包括:
步骤202:当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用界面的操作指令,并执行对应操作。
在前述实施例中已经介绍,移动终端可以利用UI Automator实现对应用标识的识别,且控制端可以为第一应用分配对应的第一通信端口,所以本步骤就可以通过第一通信端口,接收针对第一应用界面的操作指令,并且执行对应的操作,比如可以执行针对某个界面坐标的点击指令。
步骤204:通过第一测试模块采集针对第一应用的操作信息,并发送至控制端。
在前文已经介绍,测试模块(或称测试包)可以采集到应用的操作信息,所以本步骤就可以通过与第一应用运行在同一进程中的第一测试模块,采集针对第一应用的操作信息,并发送至控制端,由控制端生成测试脚本。
步骤206:当确定出前台应用由第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用界面的操作指令,并执行对应操作。
步骤208:通过第二测试模块采集针对第二应用的操作信息,并发送至控制端。
与前述步骤类似的,这两步也可以利用UI Automator,确定出前台应用由第一应用跳转到第二应用,并根据控制端发送来的针对第二应用界面的操作指令,在第二应用中执行对应的操作。再可以通过第二测试模块,采集针对第二应用的操作信息,并发送至控制端,由控制端生成测试脚本。
由以上实施例提供的方法可见,移动终端在确定出第一应用为前台应用后,可以通过为第一应用分配的第一通信端口,接收针对第一应用界面的操作指令,并执行该操作指令,通过安装的第一测试模块采集第一应用的操作信息,并发送给控制端,以便生成测试脚本。在确定出移动终端的前台应用由第一应用跳转到第二应用后,可以通过与上述类似的方式执行操作,并将第二应用的操作信息发送给控制端,以便生成测试脚本。通过该方法,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本。
实施例3
基于相同的发明思路,本发明实施例提供一种测试脚本的执行方法,针对移动终端中不同应用之间的跳转和操作根据测试脚本实现自动化测试操作。实施例1和2介绍的方法可以在脚本生成阶段,而本实施例介绍的方法可以在脚本执行阶段,本实施例先介绍应用在控制端的测试脚本的执行方法,假设该执行主体可以是PC,该方法的具体流程示意图可以如图6所示,包括:
步骤302:当确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令。
在前文已经介绍,测试模块可以采集到应用的信息,在实际应用中,测试模块也可以识别出界面元素,所以在本步骤,当移动终端的前台应用为第一应用时,第一测试模块也就可以识别出界面中的界面元素,而控制端就可以在确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,比如可以获取到包含若干个界面元素的集合。而在脚本生成阶段,测试脚本中记录了操作指令,以及对应的界面元素,所以本步骤中就可以根据第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令。
比如,测试脚本中,包含针对“添加购物车”按键的点击指令,且第一测试模块识别出的界面元素集合中包含有“添加购物车”按键,则可以查找出待操作第一界面元素“添加购物车”按键,以及对应的第一操作指令为点击指令。
步骤304:将待操作第一界面元素、以及对应的第一操作指令,通过第一通信端口发送至移动终端中的第一测试模块。
在确定出待操作第一界面元素,以及对应的第一操作指令后,则可以通过为第一应用分配的通信端口,发送至移动终端中的第一测试模块中,以使第一测试模块,可以在移动终端中对第一应用执行测试操作。
步骤306:当确定出移动终端的前台应用由第一应用跳转到第二应用时,通过第二通信端口获取第二应用界面的第二界面元素集合,并根据第二界面元素集合,从测试脚本中查找待操作第二界面元素,以及对应的第二操作指令。
步骤308:将待操作第二界面元素、以及对应的第二操作指令,通过所述第二通信端口发送至移动终端中的第二测试模块。
与上述步骤类似,可以在控制端确定出移动终端的前台应用由第一应用跳转到第二应用时,通过向第二测试模块发送待操作第二界面元素,以及对应的第二操作指令,以使移动终端对第二应用执行测试操作。
由以上实施例提供的方法可见,控制端在确定出第一应用为移动终端的前台应用后,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令,此后将待操作第一界面元素、以及对应的第一操作指令,发送至移动终端中的第一测试模块,以便执行对应的测试操作,当确定出移动终端的前台应用由第一应用跳转到第二应用时,通过类似的方式,由第二测试模块执行对应的测试操作。通过该方法,可以根据生成的测试脚本,在不同应用之间实现自动化测试跳转和操作。
实施例4
基于相同的发明思路,本发明实施例提供一种测试脚本的执行方法,针对移动终端中不同应用之间的跳转和操作根据测试脚本实现自动化测试操作。实施例3介绍的方法可以应用于控制端,本实施例介绍应用于移动终端的该方法。假设执行主体可以是智能移动终端,具体流程示意图可以如图7所示,包括:
步骤402:当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用的待操作第一界面元素、以及对应的第一操作指令。
移动终端可以利用UI Automator确定出前台应用为第一应用,在前述实施例中已经介绍,控制端可以通过第一通信端口将待操作第一界面元素以及对应的第一操作指令发送至移动终端,则本步骤就可以通过第一通信端口进行接收。
步骤404:通过第一测试模块对待操作第一界面元素执行对应的第一操作指令。
第一测试模块可以就接收到的待操作第一界面元素,以及对应的第一操作指令,对待操作第一界面元素执行对应的第一操作指令,具体地,可以通过第一测试模块识别出的第一界面的全部界面元素,查找到待操作第一界面元素,再可以根据第一操作指令,执行测试操作。
步骤406:当确定出前台应用由第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用的待操作第二界面元素、以及对应的第二操作指令。
步骤408:通过第二测试模块对待操作第二界面元素执行对应的第二操作指令。
与前述步骤类似,可以通过第二测试模块,接收待操作第二界面元素、以及对应的第二操作指令,并在识别出第二界面的全部界面元素后,查找到待操作第二界面元素,再根据第二操作指令,执行测试操作。
由以上实施例提供的方法可见,移动终端在确定出第一应用为前台应用后,通过第一通信端口接收待操作第一界面元素、以及对应的第一操作指令,并通过第一测试模块执行。当确定出移动终端的前台应用由第一应用跳转到第二应用时,通过类似的方式,由第二测试模块执行对应的测试操作。通过该方法,可以根据生成的测试脚本,在不同应用之间实现自动化测试跳转和操作。
实施例5
基于相同的构思,本发明实施例5提供了一种测试脚本的生成装置,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本。该装置的结构示意图如图8所示,可以应用于控制端,包括:第一传输单元502、第一处理单元504、第二传输单元506、第二处理单元508、以及脚本生成单元510,其中,
第一传输单元502,可以用于当确定出移动终端的前台应用为第一应用时,接收针对移动终端中第一应用界面的操作指令,并通过第一通信端口发送至移动终端;
第一处理单元504,可以用于获取安装在移动终端中的第一测试模块采集到的、针对第一应用的操作信息,并将操作信息记录在预备测试脚本中;
第二传输单元506,可以用于当确定出移动终端的前台应用由第一应用跳转到第二应用时,接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端;
第二处理单元508,可以用于获取安装在移动终端中的第二测试模块采集到的、针对第二应用的操作信息,并将操作信息记录在预备测试脚本中;
脚本生成单元510,可以用于根据预备测试脚本中记录的操作信息,生成测试脚本;
其中,应用界面为移动终端中显示界面的投影,通信端口用于实现对应应用与控制端之间进行通信,测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,操作信息中包含操作指令以及对应的界面元素。
在一种实施方式中,该装置还包括第一准备单元和第二准备单元,其中,
第一准备单元,可以用于接收针对移动终端中第一应用界面的操作指令之前,
根据第一应用的标识,查找第一应用对应的通信端口;
若未查找到,为第一应用分配第一通信端口,并与第一应用的标识以对应关系存储;
基于预设的测试框架,并根据第一应用的标识添加签名,生成第一测试模块,以及将第一测试模块安装到移动终端中;则
第二准备单元,可以用于接收针对移动终端中第二应用界面的操作指令之前,
根据第二应用的标识,查找第二应用对应的通信端口;
若未查找到,为第二应用分配第二通信端口,并与第二应用的标识以对应关系存储;
基于预设的测试框架,并根据第二应用的标识添加签名,生成第二测试模块,以及将第二测试模块安装到移动终端中。
实施例6
基于相同的构思,本发明实施例6提供了一种测试脚本的生成装置,可以针对移动终端中不同应用之间的跳转和操作生成自动化测试脚本。该装置的结构示意图如图9所示,可以应用于控制端,包括:第一执行单元602、第一传输单元604、第二执行单元606、以及第二传输单元608,其中,
第一执行单元602,可以用于当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用界面的操作指令,并执行对应操作;
第一传输单元604,可以用于通过第一测试模块采集针对第一应用的操作信息,并发送至控制端;
第二执行单元606,可以用于当确定出前台应用由第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用界面的操作指令,并执行对应操作;
第二传输单元608,可以用于通过第二测试模块采集针对第二应用的操作信息,并发送至控制端。
实施例7
基于相同的构思,本发明实施例7提供了一种测试脚本的执行装置,针对移动终端中不同应用之间的跳转和操作根据测试脚本实现自动化测试操作。该装置的结构示意图如图10所示,包括:第一处理单元702、第一传输模块704、第二处理单元706、以及第二传输模块708,其中,
第一处理单元702,可以用于当确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令;
第一传输模块704,可以用于将待操作第一界面元素、以及对应的第一操作指令,通过第一通信端口发送至移动终端中的第一测试模块;
第二处理单元706,可以用于当确定出移动终端的前台应用由第一应用跳转到第二应用时,通过第二通信端口获取第二应用界面的第二界面元素集合,并根据第二界面元素集合,从测试脚本中查找待操作第二界面元素,以及对应的第二操作指令;
第二传输模块708,可以用于将待操作第二界面元素、以及对应的第二操作指令,通过第二通信端口发送至移动终端中的第二测试模块。
实施例8
基于相同的构思,本发明实施例8提供了一种测试脚本的执行装置,针对移动终端中不同应用之间的跳转和操作根据测试脚本实现自动化测试操作。该装置的结构示意图如图11所示,包括:第一接收单元802、第一执行单元804、第二接收单元806、以及第二执行单元808,其中,
第一接收单元802,可以用于当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用的待操作第一界面元素、以及对应的第一操作指令;
第一执行单元804,可以用于通过第一测试模块对待操作第一界面元素执行对应的第一操作指令;
第二接收单元806,可以用于当确定出前台应用由第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用的待操作第二界面元素、以及对应的第二操作指令;
第二执行单元808,可以用于通过第二测试模块对待操作第二界面元素执行对应的第二操作指令。
图12至图15是本发明的一个实施例电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12至图15中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成测试脚本的生成和测试脚本的执行装置。处理器,执行存储器所存放的程序,并具体用于在控制端中执行以下操作:
当确定出移动终端的前台应用为第一应用时,接收针对移动终端中第一应用界面的操作指令,并通过第一通信端口发送至所述移动终端;
获取安装在移动终端中的第一测试模块采集到的、针对所述第一应用的操作信息,并将所述操作信息记录在预备测试脚本中;
当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端;
获取安装在移动终端中的第二测试模块采集到的、针对所述第二应用的操作信息,并将所述操作信息记录在所述预备测试脚本中;
根据所述预备测试脚本中记录的操作信息,生成测试脚本;
其中,所述应用界面为移动终端中显示界面的投影,所述通信端口用于实现对应应用与控制端之间进行通信,所述测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,所述操作信息中包含操作指令以及对应的界面元素。
在移动终端中执行以下操作:
当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用界面的操作指令,并执行对应操作;
通过第一测试模块采集针对第一应用的操作信息,并发送至控制端;
当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用界面的操作指令,并执行对应操作;
通过第二测试模块采集针对第二应用的操作信息,并发送至控制端。
在控制端中执行以下操作:
当确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据所述第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令;
将所述待操作第一界面元素、以及对应的第一操作指令,通过所述第一通信端口发送至移动终端中的第一测试模块;
当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,通过第二通信端口获取第二应用界面的第二界面元素集合,并根据所述第二界面元素集合,从测试脚本中查找待操作第二界面元素,以及对应的第二操作指令;
将所述待操作第二界面元素、以及对应的第二操作指令,通过所述第二通信端口发送至移动终端中的第二测试模块。
以及在移动终端中执行以下操作:
当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用的待操作第一界面元素、以及对应的第一操作指令;
通过第一测试模块对所述待操作第一界面元素执行对应的第一操作指令;
当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用的待操作第二界面元素、以及对应的第二操作指令;
通过第二测试模块对所述待操作第二界面元素执行对应的第二操作指令。
上述如本发明图8至图11所示实施例提供的测试脚本的生成和测试脚本的执行装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图8至图11所示实施例提供的测试脚本的生成和测试脚本的执行装置分别在图12至图15所示实施例的功能,本发明实施例在此不再赘述。
本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图8至图11所示实施例中测试脚本的生成和测试脚本的执行装置执行的方法,并具体用于在控制端中执行以下操作:
当确定出移动终端的前台应用为第一应用时,接收针对移动终端中第一应用界面的操作指令,并通过第一通信端口发送至所述移动终端;
获取安装在移动终端中的第一测试模块采集到的、针对所述第一应用的操作信息,并将所述操作信息记录在预备测试脚本中;
当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端;
获取安装在移动终端中的第二测试模块采集到的、针对所述第二应用的操作信息,并将所述操作信息记录在所述预备测试脚本中;
根据所述预备测试脚本中记录的操作信息,生成测试脚本;
其中,所述应用界面为移动终端中显示界面的投影,所述通信端口用于实现对应应用与控制端之间进行通信,所述测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,所述操作信息中包含操作指令以及对应的界面元素。
在移动终端中执行以下操作:
当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用界面的操作指令,并执行对应操作;
通过第一测试模块采集针对第一应用的操作信息,并发送至控制端;
当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用界面的操作指令,并执行对应操作;
通过第二测试模块采集针对第二应用的操作信息,并发送至控制端。
在控制端中执行以下操作:
当确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据所述第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令;
将所述待操作第一界面元素、以及对应的第一操作指令,通过所述第一通信端口发送至移动终端中的第一测试模块;
当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,通过第二通信端口获取第二应用界面的第二界面元素集合,并根据所述第二界面元素集合,从测试脚本中查找待操作第二界面元素,以及对应的第二操作指令;
将所述待操作第二界面元素、以及对应的第二操作指令,通过所述第二通信端口发送至移动终端中的第二测试模块。
以及在移动终端中执行以下操作:
当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用的待操作第一界面元素、以及对应的第一操作指令;
通过第一测试模块对所述待操作第一界面元素执行对应的第一操作指令;
当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用的待操作第二界面元素、以及对应的第二操作指令;
通过第二测试模块对所述待操作第二界面元素执行对应的第二操作指令。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种测试脚本的生成方法,其特征在于,所述方法应用于控制端,包括:
当确定出移动终端的前台应用为第一应用时,接收针对移动终端中第一应用界面的操作指令,并通过第一通信端口发送至所述移动终端;
获取安装在移动终端中的第一测试模块采集到的、针对所述第一应用的操作信息,并将所述操作信息记录在预备测试脚本中;
当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端;
获取安装在移动终端中的第二测试模块采集到的、针对所述第二应用的操作信息,并将所述操作信息记录在所述预备测试脚本中;
根据所述预备测试脚本中记录的操作信息,生成测试脚本;
其中,所述应用界面为移动终端中显示界面的投影,所述通信端口用于实现对应应用与控制端之间进行通信,所述测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,所述操作信息中包含操作指令以及对应的界面元素。
2.如权利要求1所述的方法,其特征在于,接收针对移动终端中第一应用界面的操作指令之前,所述方法还包括:
根据第一应用的标识,查找所述第一应用对应的通信端口;
若未查找到,为所述第一应用分配第一通信端口,并与所述第一应用的标识以对应关系存储;
基于预设的测试框架,并根据所述第一应用的标识添加签名,生成第一测试模块,以及将所述第一测试模块安装到移动终端中;则
接收针对移动终端中第二应用界面的操作指令之前,所述方法还包括:
根据第二应用的标识,查找所述第二应用对应的通信端口;
若未查找到,为所述第二应用分配第二通信端口,并与所述第二应用的标识以对应关系存储;
基于预设的测试框架,并根据所述第二应用的标识添加签名,生成第二测试模块,以及将所述第二测试模块安装到移动终端中。
3.一种测试脚本的生成方法,其特征在于,所述方法应用于移动终端,包括:
当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用界面的操作指令,并执行对应操作;
通过第一测试模块采集针对第一应用的操作信息,并发送至控制端;
当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用界面的操作指令,并执行对应操作;
通过第二测试模块采集针对第二应用的操作信息,并发送至控制端,由控制端生成测试脚本;
其中,所述应用界面为移动终端中显示界面的投影,所述通信端口用于实现对应应用与控制端之间进行通信,所述测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,所述操作信息中包含操作指令以及对应的界面元素。
4.一种测试脚本的执行方法,其特征在于,所述方法应用于控制端,包括:
当确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据所述第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令;
将所述待操作第一界面元素、以及对应的第一操作指令,通过所述第一通信端口发送至移动终端中的第一测试模块;
当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,通过第二通信端口获取第二应用界面的第二界面元素集合,并根据所述第二界面元素集合,从测试脚本中查找待操作第二界面元素,以及对应的第二操作指令;
将所述待操作第二界面元素、以及对应的第二操作指令,通过所述第二通信端口发送至移动终端中的第二测试模块。
5.一种测试脚本的执行方法,其特征在于,所述方法应用于移动终端,包括:
当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用的待操作第一界面元素、以及对应的第一操作指令;
通过第一测试模块对所述待操作第一界面元素执行对应的第一操作指令;
当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用的待操作第二界面元素、以及对应的第二操作指令;
通过第二测试模块对所述待操作第二界面元素执行对应的第二操作指令。
6.一种测试脚本的生成装置,其特征在于,所述装置应用于控制端,包括:第一传输单元、第一处理单元、第二传输单元、第二处理单元、以及脚本生成单元,其中,
所述第一传输单元,用于当确定出移动终端的前台应用为第一应用时,接收针对移动终端中第一应用界面的操作指令,并通过第一通信端口发送至所述移动终端;
所述第一处理单元,用于获取安装在移动终端中的第一测试模块采集到的、针对所述第一应用的操作信息,并将所述操作信息记录在预备测试脚本中;
所述第二传输单元,用于当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,接收针对移动终端中第二应用界面的操作指令,并通过第二通信端口发送至移动终端;
所述第二处理单元,用于获取安装在移动终端中的第二测试模块采集到的、针对所述第二应用的操作信息,并将所述操作信息记录在所述预备测试脚本中;
所述脚本生成单元,用于根据所述预备测试脚本中记录的操作信息,生成测试脚本;
其中,所述应用界面为移动终端中显示界面的投影,所述通信端口用于实现对应应用与控制端之间进行通信,所述测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,所述操作信息中包含操作指令以及对应的界面元素。
7.如权利要求6所述的装置,其特征在于,所述装置还包括第一准备单元和第二准备单元,其中,
所述第一准备单元,用于接收针对移动终端中第一应用界面的操作指令之前,
根据第一应用的标识,查找所述第一应用对应的通信端口;
若未查找到,为所述第一应用分配第一通信端口,并与所述第一应用的标识以对应关系存储;
基于预设的测试框架,并根据所述第一应用的标识添加签名,生成第一测试模块,以及将所述第一测试模块安装到移动终端中;则
所述第二准备单元,用于接收针对移动终端中第二应用界面的操作指令之前,
根据第二应用的标识,查找所述第二应用对应的通信端口;
若未查找到,为所述第二应用分配第二通信端口,并与所述第二应用的标识以对应关系存储;
基于预设的测试框架,并根据所述第二应用的标识添加签名,生成第二测试模块,以及将所述第二测试模块安装到移动终端中。
8.一种测试脚本的生成装置,其特征在于,所述装置应用于移动终端,包括:第一执行单元、第一传输单元、第二执行单元、以及第二传输单元,其中,
所述第一执行单元,用于当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用界面的操作指令,并执行对应操作;
所述第一传输单元,用于通过第一测试模块采集针对第一应用的操作信息,并发送至控制端;
所述第二执行单元,用于当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用界面的操作指令,并执行对应操作;
所述第二传输单元,用于通过第二测试模块采集针对第二应用的操作信息,并发送至控制端,由控制端生成测试脚本;
其中,所述应用界面为移动终端中显示界面的投影,所述通信端口用于实现对应应用与控制端之间进行通信,所述测试模块基于预设的测试框架,并根据对应应用的标识添加签名生成,用于采集应用的操作信息,所述操作信息中包含操作指令以及对应的界面元素。
9.一种测试脚本的执行装置,其特征在于,所述装置应用于控制端,包括:第一处理单元、第一传输模块、第二处理单元、以及第二传输模块,其中,
所述第一处理单元,用于当确定出移动终端的前台应用为第一应用时,通过第一通信端口获取第一应用界面的第一界面元素集合,并根据所述第一界面元素集合,从测试脚本中查找待操作第一界面元素,以及对应的第一操作指令;
所述第一传输模块,用于将所述待操作第一界面元素、以及对应的第一操作指令,通过所述第一通信端口发送至移动终端中的第一测试模块;
所述第二处理单元,用于当确定出移动终端的前台应用由所述第一应用跳转到第二应用时,通过第二通信端口获取第二应用界面的第二界面元素集合,并根据所述第二界面元素集合,从测试脚本中查找待操作第二界面元素,以及对应的第二操作指令;
所述第二传输模块,用于将所述待操作第二界面元素、以及对应的第二操作指令,通过所述第二通信端口发送至移动终端中的第二测试模块。
10.一种测试脚本的执行装置,其特征在于,所述装置应用于移动终端,包括:第一接收单元、第一执行单元、第二接收单元、以及第二执行单元,其中,
所述第一接收单元,用于当确定出前台应用为第一应用时,通过第一通信端口接收针对第一应用的待操作第一界面元素、以及对应的第一操作指令;
所述第一执行单元,用于通过第一测试模块对所述待操作第一界面元素执行对应的第一操作指令;
所述第二接收单元,用于当确定出前台应用由所述第一应用跳转到第二应用时,通过第二通信端口接收针对第二应用的待操作第二界面元素、以及对应的第二操作指令;
所述第二执行单元,用于通过第二测试模块对所述待操作第二界面元素执行对应的第二操作指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811309257.XA CN109542775B (zh) | 2018-11-05 | 2018-11-05 | 一种测试脚本的生成和执行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811309257.XA CN109542775B (zh) | 2018-11-05 | 2018-11-05 | 一种测试脚本的生成和执行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109542775A CN109542775A (zh) | 2019-03-29 |
CN109542775B true CN109542775B (zh) | 2021-07-30 |
Family
ID=65846230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811309257.XA Active CN109542775B (zh) | 2018-11-05 | 2018-11-05 | 一种测试脚本的生成和执行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542775B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395204B (zh) * | 2020-12-04 | 2024-04-16 | 京东科技信息技术有限公司 | 用于获取测试覆盖率的方法、系统、相关装置和介质 |
CN114003512B (zh) * | 2021-12-30 | 2022-05-13 | 卡斯柯信号(北京)有限公司 | 一种基于列车自动控制集成验证平台脚本生成方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514088A (zh) * | 2012-06-19 | 2014-01-15 | 珠海世纪鼎利通信科技股份有限公司 | 一种终端应用软件的功能回归测试方法 |
US8881195B2 (en) * | 2009-05-22 | 2014-11-04 | S3 Research And Development Limited | Test system for a set-top box |
CN105224456A (zh) * | 2015-09-29 | 2016-01-06 | 北京奇虎科技有限公司 | 一种测试脚本生成方法、装置和系统 |
CN107193750A (zh) * | 2017-07-04 | 2017-09-22 | 北京云测信息技术有限公司 | 一种脚本录制方法和装置 |
-
2018
- 2018-11-05 CN CN201811309257.XA patent/CN109542775B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881195B2 (en) * | 2009-05-22 | 2014-11-04 | S3 Research And Development Limited | Test system for a set-top box |
CN103514088A (zh) * | 2012-06-19 | 2014-01-15 | 珠海世纪鼎利通信科技股份有限公司 | 一种终端应用软件的功能回归测试方法 |
CN105224456A (zh) * | 2015-09-29 | 2016-01-06 | 北京奇虎科技有限公司 | 一种测试脚本生成方法、装置和系统 |
CN107193750A (zh) * | 2017-07-04 | 2017-09-22 | 北京云测信息技术有限公司 | 一种脚本录制方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于XML的安全苛求系统测试脚本生成;何欢 等;《计算机应用》;20110131;第31卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109542775A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193750B (zh) | 一种脚本录制方法和装置 | |
CN108984389B (zh) | 一种应用程序测试方法及终端设备 | |
CN109033772B (zh) | 一种验证信息的输入方法及装置 | |
CN109308263B (zh) | 一种小程序测试方法、装置及设备 | |
CN107066519B (zh) | 一种任务检测方法及装置 | |
CN114546738B (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN109298926B (zh) | 资源转移方入驻资源转移平台的方法、装置及电子设备 | |
CN110913135A (zh) | 一种视频拍摄方法、装置、电子设备和存储介质 | |
CN113220272B (zh) | 一种业务平台的开放能力接入方法、装置以及设备 | |
CN113626102A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN109542775B (zh) | 一种测试脚本的生成和执行方法及装置 | |
CN111124871A (zh) | 接口测试方法及装置 | |
CN111881393A (zh) | 一种页面渲染方法、装置、介质及电子设备 | |
CN112346965A (zh) | 测试用例分配方法、装置及存储介质 | |
CN115470101A (zh) | 数据测试方法、装置、计算机设备和存储介质 | |
CN111857712A (zh) | 表单处理方法、装置、终端及介质 | |
CN110838929B (zh) | 系统错误排查方法和系统错误排查装置 | |
CN113408254A (zh) | 一种页面表单信息填写方法、装置、设备和可读介质 | |
CN108563578B (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN115776515A (zh) | 一种软件服务提供方法、装置及设备 | |
CN115987821A (zh) | 网关路由测试方法及装置 | |
CN106548331B (zh) | 一种确定发布顺序的方法及装置 | |
CN114168183A (zh) | 前端资源信息处理方法、装置、设备及存储介质 | |
CN111258873B (zh) | 测试方法及装置 | |
CN109376289B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210716 Address after: 100016 no.4301, No.52 Jiuxianqiao hospital, Chaoyang District, Beijing Applicant after: BEIJING TESTIN INFORMATION TECHNOLOGY Co.,Ltd. Address before: Room 2016, building 2, No.8, Fenghuang Third Road, Zhongxin Guangzhou Knowledge City, Guangzhou 510260, Guangdong Province Applicant before: GUANGZHOU TESTIN INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right |