CN112269746A - 自动化测试方法及相关设备 - Google Patents

自动化测试方法及相关设备 Download PDF

Info

Publication number
CN112269746A
CN112269746A CN202011248256.6A CN202011248256A CN112269746A CN 112269746 A CN112269746 A CN 112269746A CN 202011248256 A CN202011248256 A CN 202011248256A CN 112269746 A CN112269746 A CN 112269746A
Authority
CN
China
Prior art keywords
test
computer
mobile terminal
control
information
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
Application number
CN202011248256.6A
Other languages
English (en)
Inventor
金伟光
李秋林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Shuke Haiyi Information Technology Co Ltd
Original Assignee
Jingdong Shuke Haiyi Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Shuke Haiyi Information Technology Co Ltd filed Critical Jingdong Shuke Haiyi Information Technology Co Ltd
Priority to CN202011248256.6A priority Critical patent/CN112269746A/zh
Publication of CN112269746A publication Critical patent/CN112269746A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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)

Abstract

本公开提供了一种自动化测试方法、装置、系统、计算机、移动终端以及计算机可读存储介质。自动化测试方法包括:计算机获取移动终端当前界面的控件树;计算机解析测试脚本文件,获得控件属性信息以及第一测试操作信息;计算机利用控件属性信息查询控件树,获得控件位置信息;计算机根据控件位置信息以及第一测试操作信息,生成第一测试命令;计算机将第一测试命令发送至移动终端的测试服务。在对安装在移动终端上的应用进行自动化测试的过程中,采用计算机来执行自动化测试的部分操作,能够降低自动化测试工具的活跃度,从而降低自动化测试工具被移动终端系统终止运行的概率,进而提升了自动化测试的稳定性,保障自动化测试过程的长期稳定执行。

Description

自动化测试方法及相关设备
技术领域
本公开涉及信息技术领域,特别涉及一种自动化测试方法、装置、系统、计算机、移动终端以及计算机可读存储介质。
背景技术
在移动终端的应用发布之前,通常需要对应用进行严格的测试,测试过程中涉及在应用界面进行点击、输入、滑动等诸多操作。
为了提升测试效率,可以预先生成测试脚本,然后利用测试脚本以及安装在移动终端上的自动化测试工具来进行自动化测试。自动化测试工具例如可以包括uiautomator、robotium、expresso等等。
发明内容
本公开解决的一个技术问题是,如何提升自动化测试的稳定性。
根据本公开的第一个方面,提供了一种自动化测试方法,包括:计算机获取移动终端当前界面的控件树;计算机解析测试脚本文件,获得控件属性信息以及第一测试操作信息;计算机利用控件属性信息查询控件树,获得控件位置信息;计算机根据控件位置信息以及第一测试操作信息,生成第一测试命令;计算机将第一测试命令发送至移动终端的测试服务。
在一些实施例中,计算机获取移动终端当前界面的控件树包括:计算机通过套接字长连接调用安装在移动终端上的测试工具,使测试工具通过启动的测试服务,获取移动终端当前界面的控件树。
在一些实施例中,计算机根据控件位置信息以及第一测试操作信息,生成第一测试命令包括:计算机根据第一测试操作信息,确定第一测试命令函数;计算机根据控件位置信息,确定第一测试命令参数;计算机根据第一测试命令函数以及第一测试命令参数,生成第一测试命令。
在一些实施例中,自动化测试方法还包括:计算机解析测试脚本文件,获得第二测试操作信息以及操作对象信息;计算机根据第二测试操作信息以及操作对象信息,生成第二测试命令;计算机将第二测试命令发送至移动终端的测试服务。
在一些实施例中,计算机根据第二测试操作信息以及操作对象信息,生成测试命令包括:计算机根据第二测试操作信息,确定第二测试命令函数;计算机根据操作对象信息,确定第二测试命令参数;计算机根据第二测试命令函数以及第二测试命令参数,生成第二测试命令。
在一些实施例中,测试服务为安装在移动终端上的测试工具所启动的测试服务,测试服务被配置为执行测试命令;或者,测试命令为系统级测试命令,测试服务为移动终端的系统级服务,系统级服务被配置为执行测试命令。
在一些实施例中,控件属性信息包括控件类型信息、控件标识信息、控件边界位置信息、控件序号信息中的至少一项。
根据本公开的第二个方面,提供了一种自动化测试装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的自动化测试方法。
根据本公开的第三个方面,提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的自动化测试方法。
根据本公开的第四个方面,提供了另一种自动化测试方法,包括:移动终端将当前界面的控件树发送至计算机;移动终端通过移动终端的测试服务接收并执行计算机发送的第一测试命令,所述第一测试命令是计算机根据控件位置信息以及第一测试操作信息生成的,所述控件位置信息是计算机利用控件属性信息查询控件树获得的,所述控件属性信息以及所述第一测试操作信息是计算机解析测试脚本文件获得的。
在一些实施例中,所述移动终端将当前界面的控件树发送至计算机包括:移动终端安装的测试应用被计算机通过套接字长连接调用后启动测试服务,所述测试服务获取移动终端当前界面的控件树;移动终端安装的测试应用通过套接字长连接将所述控件树发送至计算机。
在一些实施例中,自动化测试方法还包括:移动终端通过移动终端的测试服务接收并执行计算机发送的第二测试命令,所述第二测试命令是计算机根据第二测试操作信息以及操作对象信息生成的,所述第二测试操作信息以及操作对象信息是计算机解析测试脚本文件获得的。
在一些实施例中,所述测试服务为安装在移动终端上的测试应用所启动的测试服务,所述测试服务被配置为执行测试命令;或者,所述测试命令为系统级测试命令,所述测试服务为移动终端的系统级服务,所述系统级服务被配置为执行测试命令。
根据本公开的第五个方面,提供了另一种自动化测试装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的自动化测试方法。
根据本公开的第六个方面,提供了另一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的自动化测试方法。
根据本公开的第七个方面,提供了一种计算机,包括:控件树获取模块,被配置为获取移动终端当前界面的控件树;脚本解析模块,被配置为解析测试脚本文件,获得控件属性信息以及第一测试操作信息;位置查询模块,被配置为利用控件属性信息查询控件树,获得控件位置信息;命令生成模块,被配置为根据控件位置信息以及第一测试操作信息,生成第一测试命令;命令发送模块,被配置为将第一测试命令发送至移动终端的测试服务。
在一些实施例中,控件树获取模块被配置为:通过套接字长连接调用安装在移动终端上的测试工具,使测试工具通过启动的测试服务,获取移动终端当前界面的控件树。
在一些实施例中,命令生成模块被配置为:根据第一测试操作信息,确定第一测试命令函数;根据控件位置信息,确定第一测试命令参数;根据第一测试命令函数以及第一测试命令参数,生成第一测试命令。
在一些实施例中,脚本解析模块还被配置为:解析测试脚本文件,获得第二测试操作信息以及操作对象信息;命令生成模块还被配置为:根据第二测试操作信息以及操作对象信息,生成第二测试命令;命令发送模块还被配置为:将第二测试命令发送至移动终端的测试服务。
在一些实施例中,命令生成模块被配置为:根据第二测试操作信息,确定第二测试命令函数;根据操作对象信息,确定第二测试命令参数;根据第二测试命令函数以及第二测试命令参数,生成第二测试命令。
在一些实施例中,测试服务为安装在移动终端上的测试工具所启动的测试服务,测试服务被配置为执行测试命令;或者,测试命令为系统级测试命令,测试服务为移动终端的系统级服务,系统级服务被配置为执行测试命令。
在一些实施例中,控件属性信息包括控件类型信息、控件标识信息、控件边界位置信息、控件序号信息中的至少一项。
根据本公开的第八个方面,提供了一种移动终端,包括:移动终端安装的测试应用,被配置为将当前界面的控件树发送至计算机;测试命令处理模块,被配置为通过移动终端的测试服务接收并执行计算机发送的第一测试命令,所述第一测试命令是计算机根据控件位置信息以及第一测试操作信息生成的,所述控件位置信息是计算机利用控件属性信息查询控件树获得的,所述控件属性信息以及所述第一测试操作信息是计算机解析测试脚本文件获得的。
在一些实施例中,移动终端安装的测试应用被配置为:被计算机通过套接字长连接调用后启动测试服务,所述测试服务获取移动终端当前界面的控件树;通过套接字长连接将所述控件树发送至计算机。
在一些实施例中,测试命令处理模块被配置为:通过移动终端的测试服务接收并执行计算机发送的第二测试命令,所述第二测试命令是计算机根据第二测试操作信息以及操作对象信息生成的,所述第二测试操作信息以及操作对象信息是计算机解析测试脚本文件获得的。
在一些实施例中,所述测试服务为安装在移动终端上的测试应用所启动的测试服务,所述测试服务被配置为执行测试命令;或者,所述测试命令为系统级测试命令,所述测试服务为移动终端的系统级服务,所述系统级服务被配置为执行测试命令。
根据本公开的第九个方面,提供了一种自动化测试系统,包括前述的计算机以及前述的移动终端。
本公开在对安装在移动终端上的应用进行自动化测试的过程中,采用计算机来执行自动化测试的部分操作,能够降低自动化测试工具的活跃度,从而降低自动化测试工具被移动终端系统终止运行的概率,进而提升了自动化测试的稳定性,保障自动化测试过程的长期稳定执行。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开一些实施例的自动化测试方法的流程示意图。
图2示出了本公开另一些实施例的自动化测试方法的流程示意图。
图3示出了本公开又一些实施例的自动化测试方法的流程示意图。
图4示出了本公开一些实施例的计算机的结构示意图。
图5示出了本公开一些实施例的移动终端的结构示意图。
图6示出了本公开一些实施例的自动化测试系统的结构示意图。
图7示出了本公开一些实施例的自动化测试装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
发明人研究发现,不同品牌的移动终端(例如手机)具有不同的应用进程管理规则。为了保障移动终端的流畅性,很多移动终端厂商都会对操作非常活跃的应用进行清理操作。例如,自动化测试工具在运行过程中,需要不断的获取控件树、在控件树中进行搜索、解析测试脚本文件、并在移动终端的界面中进行点击、输入、滑动等操作,因此会占用很大的系统资源。一旦测试脚本文件较大,例如运行测试脚本文件需要数小时的时长,就会使移动终端的系统误认为该自动化测试工具是异常应用,进而导致终端终止该自动化测试工具运行,降低了自动化测试过程的稳定性。有鉴于此,发明人提供了一种自动化测试方法,能够降低自动化测试工具被移动终端终止运行的概率,从而提升了自动化测试的稳定性。
首先结合图1描述本公开自动化测试方法的一些实施例,以从计算机侧对自动化测试方法进行介绍。
图1示出了本公开一些实施例的自动化测试方法的流程示意图。如图1所示,该方法包括步骤S101~步骤S105。
在步骤S101中,计算机获取移动终端当前界面的控件树。
例如,待测试应用的登录界面有用户名、密码、登录按钮等控件。计算机通过套接字socket长连接调用安装在移动终端上的测试工具(例如uiautomator),使测试工具通过启动的测试服务,获取移动终端当前界面的控件树。本领域技术人员能够理解,控件树具体可以为xml格式的控件树文本,测试工具在移动终端上通常以应用或jar包的形式存在。
由于socket长连接在获取移动终端当前界面的控件树后不会关断,而是会持续的从移动终端获取后续界面的控件树。因此计算机基于socket长连接,能够更加实时、高效的获取移动终端当前界面的控件树。
在步骤S102中,计算机解析测试脚本文件,获得控件属性信息以及第一测试操作信息。
借助于MTC(Mobile Testing Center,移动测试中心)等移动测试平台,能够录制生成测试脚本文件,该测试脚本文件中记录了分别要对哪个控件进行何种操作,例如对登录按钮进行点击操作。在回放该测试脚本文件时,计算机解析测试脚本文件,获得控件属性信息以及第一测试操作信息。其中,控件属性信息例如包括控件类型信息class、控件标识信息ID、控件边界位置信息bounds、控件序号信息position中的至少一项;第一测试操作信息例如可以为“action=click”,表示点击类测试操作。
在步骤S103中,计算机利用控件属性信息查询控件树,获得控件位置信息。
控件树中包含控件属性信息与控件位置信息之间的映射关系。计算机利用控件属性信息查询控件树时,如果查询结果为空,则会上报脚本运行错误告警。假设查询结果不为空,获得控件在当前页面的位置信息(x,y)。
在步骤S104中,计算机根据控件位置信息以及第一测试操作信息,生成第一测试命令。
例如,计算机根据第一测试操作信息,确定第一测试命令函数“getAutomatorBridge().getInteractionController().clickNoSync()”。然后,根据控件位置信息,确定第一测试命令参数(x,y)。最后,根据第一测试命令函数以及第一测试命令参数,生成第一测试命令“getAutomatorBridge().getInteractionController().clickNoSync(x,y)”。
再比如,计算机根据第一测试操作信息确定第一测试命令函数“adb shell inputtap”。然后,根据控件位置信息,确定第一测试命令参数(x,y)。最后,根据第一测试命令函数以及第一测试命令参数,生成第一测试命令“adb shell input tap x y”。
在步骤S105中,计算机将第一测试命令发送至移动终端的测试服务。
例如,测试服务为安装在移动终端上的测试工具所启动的测试服务,测试服务被配置为执行测试命令。例如,测试工具uiautomator所启动的测试服务接收并执行第一测试命令。
上述实施例在对安装在移动终端上的应用进行自动化测试的过程中,采用计算机来执行自动化测试的部分操作,能够降低自动化测试工具的活跃度,从而降低自动化测试工具被移动终端系统终止运行的概率,进而提升了自动化测试的稳定性,保障自动化测试过程的长期稳定执行。
同时,如果自动化测试的全部操作均由移动终端来执行,还会造成耗电量、网络性能等测试数据不准确。采用计算机来执行自动化测试的部分操作,不仅能够提升自动化测试的稳定性,还能够提升了测试数据的准确性。
在一些实施例中,通过安装在计算机上的Adb(Android Debug Bridge,安卓调试桥)生成的测试命令为系统级测试命令。例如“adb shell input tap x y”就属于系统级测试命令。本领域技术人员能够理解,Adb是安卓系统与计算机之间的连接工具,Adb启动的测试服务为移动终端的系统级服务,系统级服务被配置为执行测试命令。
本领域技术人员能够理解,系统级服务不会被移动终端的操作系统停止运行。因此,本实施例通过计算机向移动终端的系统级服务发送系统级命令,以执行自动化测试,能够进一步降低自动化测试工具被移动终端系统终止运行的概率,并进一步提升自动化测试的稳定性。
下面结合图2描述本公开自动化测试方法的另一些实施例,仍从计算机侧对自动化测试方法进行介绍。
图2示出了本公开另一些实施例的自动化测试方法的流程示意图。如图2所示,该方法包括步骤S201~步骤S203。
在步骤S201中,计算机解析测试脚本文件,获得第二测试操作信息以及操作对象信息。
在步骤S202中,计算机根据第二测试操作信息以及操作对象信息,生成第二测试命令。
例如,计算机根据第二测试操作信息“action=text”,确定第二测试命令函数“adb shell input text”。然后根据操作对象信息“username”,确定第二测试命令参数“username”。最后根据第二测试命令函数以及第二测试命令参数,生成第二测试命令“adbshell input text username”。
在步骤S203中,计算机将第二测试命令发送至移动终端的测试服务。
本实施例在对安装在移动终端上的应用进行自动化测试的过程中,采用计算机来执行自动化测试的部分操作,能够降低自动化测试工具的活跃度,从而降低自动化测试工具被移动终端系统终止运行的概率,进而提升了自动化测试的稳定性,保障自动化测试过程的长期稳定执行。
下面结合图3描述本公开自动化测试方法的又一些实施例,以从移动终端侧对自动化测试方法进行介绍。
图3示出了本公开又一些实施例的自动化测试方法的流程示意图。如图3所示,该方法包括步骤S301~步骤S302。
在步骤S301中,移动终端将当前界面的控件树发送至计算机。
例如,移动终端安装的测试应用被计算机通过套接字长连接调用后启动测试服务,测试服务获取移动终端当前界面的控件树。然后,移动终端安装的测试应用通过套接字长连接将控件树发送至计算机。
在步骤S302中,移动终端通过移动终端的测试服务接收并执行计算机发送的第一测试命令。
其中,第一测试命令是计算机根据控件位置信息以及第一测试操作信息生成的,控件位置信息是计算机利用控件属性信息查询控件树获得的,控件属性信息以及第一测试操作信息是计算机解析测试脚本文件获得的。
在一些实施例中,自动化测试方法还包括步骤S303。在步骤S303中,移动终端通过移动终端的测试服务接收并执行计算机发送的第二测试命令。其中,第二测试命令是计算机根据第二测试操作信息以及操作对象信息生成的,第二测试操作信息以及操作对象信息是计算机解析测试脚本文件获得的。
在对安装在移动终端上的应用进行自动化测试的过程中,采用计算机来执行自动化测试的部分操作,能够降低自动化测试工具的活跃度,从而降低自动化测试工具被移动终端系统终止运行的概率,进而提升了自动化测试的稳定性,保障自动化测试过程的长期稳定执行。
同时,如果自动化测试的全部操作均由移动终端来执行,还会造成耗电量、网络性能等测试数据不准确。采用计算机来执行自动化测试的部分操作,不仅能够提升自动化测试的稳定性,还能够提升了测试数据的准确性。
在一些实施例中,测试服务为安装在移动终端上的测试应用所启动的测试服务,测试服务被配置为执行测试命令。
在一些实施例中,测试命令为系统级测试命令,测试服务为移动终端的系统级服务,系统级服务被配置为执行测试命令。
本领域技术人员能够理解,系统级服务不会被移动终端的操作系统停止运行。因此,本实施例通过计算机向移动终端的系统级服务发送系统级命令,以执行自动化测试,能够进一步降低自动化测试工具被移动终端系统终止运行的概率,并进一步提升自动化测试的稳定性。
下面结合图4描述本公开计算机的一些实施例。
图4示出了本公开一些实施例的计算机的结构示意图。如图4所示,计算机40包括:控件树获取模块401,被配置为获取移动终端当前界面的控件树;脚本解析模块402,被配置为解析测试脚本文件,获得控件属性信息以及第一测试操作信息;位置查询模块403,被配置为利用控件属性信息查询控件树,获得控件位置信息;命令生成模块404,被配置为根据控件位置信息以及第一测试操作信息,生成第一测试命令;命令发送模块405,被配置为将第一测试命令发送至移动终端的测试服务。
在一些实施例中,控件树获取模块401被配置为:通过套接字长连接调用安装在移动终端上的测试工具,使测试工具通过启动的测试服务,获取移动终端当前界面的控件树。
在一些实施例中,命令生成模块404被配置为:根据第一测试操作信息,确定第一测试命令函数;根据控件位置信息,确定第一测试命令参数;根据第一测试命令函数以及第一测试命令参数,生成第一测试命令。
在一些实施例中,脚本解析模块402还被配置为:解析测试脚本文件,获得第二测试操作信息以及操作对象信息;命令生成模块404还被配置为:根据第二测试操作信息以及操作对象信息,生成第二测试命令;命令发送模块405还被配置为:将第二测试命令发送至移动终端的测试服务。
在一些实施例中,命令生成模块404被配置为:根据第二测试操作信息,确定第二测试命令函数;根据操作对象信息,确定第二测试命令参数;根据第二测试命令函数以及第二测试命令参数,生成第二测试命令。
在一些实施例中,测试服务为安装在移动终端上的测试工具所启动的测试服务,测试服务被配置为执行测试命令;或者,测试命令为系统级测试命令,测试服务为移动终端的系统级服务,系统级服务被配置为执行测试命令。
在一些实施例中,控件属性信息包括控件类型信息、控件标识信息、控件边界位置信息、控件序号信息中的至少一项。
在对安装在移动终端上的应用进行自动化测试的过程中,采用计算机来执行自动化测试的部分操作,能够降低自动化测试工具的活跃度,从而降低自动化测试工具被移动终端系统终止运行的概率,进而提升了自动化测试的稳定性,保障自动化测试过程的长期稳定执行。
同时,如果自动化测试的全部操作均由移动终端来执行,还会造成耗电量、网络性能等测试数据不准确。采用计算机来执行自动化测试的部分操作,不仅能够提升自动化测试的稳定性,还能够提升了测试数据的准确性。
下面结合图5描述本公开移动终端的一些实施例。
图5示出了本公开一些实施例的移动终端的结构示意图。如图5所示,移动终端50包括:移动终端安装的测试应用501,被配置为将当前界面的控件树发送至计算机;测试命令处理模块502,被配置为通过移动终端的测试服务接收并执行计算机发送的第一测试命令,第一测试命令是计算机根据控件位置信息以及第一测试操作信息生成的,控件位置信息是计算机利用控件属性信息查询控件树获得的,控件属性信息以及第一测试操作信息是计算机解析测试脚本文件获得的。
在一些实施例中,移动终端安装的测试应用501被配置为:被计算机通过套接字长连接调用后启动测试服务,测试服务获取移动终端当前界面的控件树;通过套接字长连接将控件树发送至计算机。
在一些实施例中,测试命令处理模块502被配置为:通过移动终端的测试服务接收并执行计算机发送的第二测试命令,第二测试命令是计算机根据第二测试操作信息以及操作对象信息生成的,第二测试操作信息以及操作对象信息是计算机解析测试脚本文件获得的。
在一些实施例中,测试服务为安装在移动终端上的测试应用501所启动的测试服务,测试服务被配置为执行测试命令;或者,测试命令为系统级测试命令,测试服务为移动终端的系统级服务,系统级服务被配置为执行测试命令。
在对安装在移动终端上的应用进行自动化测试的过程中,采用计算机来执行自动化测试的部分操作,能够降低自动化测试工具的活跃度,从而降低自动化测试工具被移动终端系统终止运行的概率,进而提升了自动化测试的稳定性,保障自动化测试过程的长期稳定执行。
同时,如果自动化测试的全部操作均由移动终端来执行,还会造成耗电量、网络性能等测试数据不准确。采用计算机来执行自动化测试的部分操作,不仅能够提升自动化测试的稳定性,还能够提升了测试数据的准确性。
下面结合图6描述本公开自动化测试系统的一些实施例。
图6示出了本公开一些实施例的自动化测试系统的结构示意图。如图6所示,自动化测试系统60包括前述的计算机40以及前述的移动终端50。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
下面结合图7描述本公开自动化测试装置的一些实施例。这些实施例中的自动化测试装置具体可以为计算机或移动终端。
图7示出了本公开一些实施例的自动化测试装置的结构示意图。如图7所示,自动化测试装置70包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一些实施例中的自动化测试方法。
其中,存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
计算机70还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730、740、750以及存储器710和处理器720之间例如可以通过总线760连接。其中,输入输出接口730为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口。存储接口750为SD卡、U盘等外置存储设备提供连接接口。
本公开还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一些实施例中的自动化测试方法。
前述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (18)

1.一种自动化测试方法,包括:
计算机获取移动终端当前界面的控件树;
计算机解析测试脚本文件,获得控件属性信息以及第一测试操作信息;
计算机利用所述控件属性信息查询所述控件树,获得控件位置信息;
计算机根据所述控件位置信息以及所述第一测试操作信息,生成第一测试命令;
计算机将所述第一测试命令发送至移动终端的测试服务。
2.根据权利要求1所述的自动化测试方法,其中,所述计算机获取移动终端当前界面的控件树包括:
计算机通过套接字长连接调用安装在移动终端上的测试工具,使所述测试工具通过启动的测试服务,获取移动终端当前界面的控件树。
3.根据权利要求1所述的自动化测试方法,其中,所述计算机根据所述控件位置信息以及所述第一测试操作信息,生成第一测试命令包括:
计算机根据所述第一测试操作信息,确定第一测试命令函数;
计算机根据所述控件位置信息,确定第一测试命令参数;
计算机根据所述第一测试命令函数以及所述第一测试命令参数,生成第一测试命令。
4.根据权利要求1所述的自动化测试方法,还包括:
计算机解析测试脚本文件,获得第二测试操作信息以及操作对象信息;
计算机根据所述第二测试操作信息以及操作对象信息,生成第二测试命令;
计算机将所述第二测试命令发送至移动终端的测试服务。
5.根据权利要求4所述的自动化测试方法,其中,所述计算机根据所述第二测试操作信息以及操作对象信息,生成测试命令包括:
计算机根据所述第二测试操作信息,确定第二测试命令函数;
计算机根据所述操作对象信息,确定第二测试命令参数;
计算机根据所述第二测试命令函数以及所述第二测试命令参数,生成第二测试命令。
6.根据权利要求1至5任一项所述的自动化测试方法,其中,
所述测试服务为安装在移动终端上的测试工具所启动的测试服务,所述测试服务被配置为执行测试命令;或者,
所述测试命令为系统级测试命令,所述测试服务为移动终端的系统级服务,所述系统级服务被配置为执行测试命令。
7.根据权利要求1所述的自动化测试方法,其中,所述控件属性信息包括控件类型信息、控件标识信息、控件边界位置信息、控件序号信息中的至少一项。
8.一种自动化测试方法,包括:
移动终端将当前界面的控件树发送至计算机;
移动终端通过移动终端的测试服务接收并执行计算机发送的第一测试命令,所述第一测试命令是计算机根据控件位置信息以及第一测试操作信息生成的,所述控件位置信息是计算机利用控件属性信息查询控件树获得的,所述控件属性信息以及所述第一测试操作信息是计算机解析测试脚本文件获得的。
9.根据权利要求8所述的自动化测试方法,其中,所述移动终端将当前界面的控件树发送至计算机包括:
移动终端安装的测试应用被计算机通过套接字长连接调用后启动测试服务,所述测试服务获取移动终端当前界面的控件树;
移动终端安装的测试应用通过套接字长连接将所述控件树发送至计算机。
10.根据权利要求8所述的自动化测试方法,还包括:
移动终端通过移动终端的测试服务接收并执行计算机发送的第二测试命令,所述第二测试命令是计算机根据第二测试操作信息以及操作对象信息生成的,所述第二测试操作信息以及操作对象信息是计算机解析测试脚本文件获得的。
11.根据权利要求8所述的自动化测试方法,其中,
所述测试服务为安装在移动终端上的测试应用所启动的测试服务,所述测试服务被配置为执行测试命令;或者,
所述测试命令为系统级测试命令,所述测试服务为移动终端的系统级服务,所述系统级服务被配置为执行测试命令。
12.一种计算机,包括:
控件树获取模块,被配置为获取移动终端当前界面的控件树;
脚本解析模块,被配置为解析测试脚本文件,获得控件属性信息以及第一测试操作信息;
位置查询模块,被配置为利用所述控件属性信息查询所述控件树,获得控件位置信息;
命令生成模块,被配置为根据所述控件位置信息以及所述第一测试操作信息,生成第一测试命令;
命令发送模块,被配置为将所述第一测试命令发送至移动终端的测试服务。
13.一种移动终端,包括:
移动终端安装的测试应用,被配置为将当前界面的控件树发送至计算机;
测试命令处理模块,被配置为通过移动终端的测试服务接收并执行计算机发送的第一测试命令,所述第一测试命令是计算机根据控件位置信息以及第一测试操作信息生成的,所述控件位置信息是计算机利用控件属性信息查询控件树获得的,所述控件属性信息以及所述第一测试操作信息是计算机解析测试脚本文件获得的。
14.一种自动化测试系统,包括如权利要求12所述的计算机以及如权利要求13所述的移动终端。
15.一种自动化测试装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至7中任一项所述的自动化测试方法。
16.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求1至7中任一项所述的自动化测试方法。
17.一种自动化测试装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求8至11中任一项所述的自动化测试方法。
18.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求8至11中任一项所述的自动化测试方法。
CN202011248256.6A 2020-11-10 2020-11-10 自动化测试方法及相关设备 Pending CN112269746A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011248256.6A CN112269746A (zh) 2020-11-10 2020-11-10 自动化测试方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011248256.6A CN112269746A (zh) 2020-11-10 2020-11-10 自动化测试方法及相关设备

Publications (1)

Publication Number Publication Date
CN112269746A true CN112269746A (zh) 2021-01-26

Family

ID=74339803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011248256.6A Pending CN112269746A (zh) 2020-11-10 2020-11-10 自动化测试方法及相关设备

Country Status (1)

Country Link
CN (1) CN112269746A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010359A (zh) * 2021-03-26 2021-06-22 西安航空电子科技有限公司 总线测试系统生成方法、系统、设备及存储介质
WO2023230797A1 (zh) * 2022-05-30 2023-12-07 北京小米移动软件有限公司 一种跨系统测试方法及装置
CN117827357A (zh) * 2024-03-04 2024-04-05 北京云测信息技术有限公司 一种终端设备的远程操作方法、装置及设备

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040261032A1 (en) * 2003-02-28 2004-12-23 Olander Daryl B. Graphical user interface navigation method
US20070022407A1 (en) * 2001-07-27 2007-01-25 Accordsqa, Inc. Automated software testing and validation system
CN103309797A (zh) * 2012-03-09 2013-09-18 阿里巴巴集团控股有限公司 用户界面自动化测试方法及装置
US20140109057A1 (en) * 2012-10-12 2014-04-17 Vmware, Inc. Software development kit testing
CN106095666A (zh) * 2016-06-02 2016-11-09 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN107357727A (zh) * 2017-07-04 2017-11-17 广州君海网络科技有限公司 App运行测试方法、装置、可读存储介质和计算机设备
CN108170611A (zh) * 2018-01-23 2018-06-15 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN108280026A (zh) * 2018-01-23 2018-07-13 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN108595329A (zh) * 2018-04-23 2018-09-28 腾讯科技(深圳)有限公司 一种应用测试方法、装置及计算机存储介质
CN108717393A (zh) * 2018-05-16 2018-10-30 平安科技(深圳)有限公司 一种应用程序测试方法及移动终端
CN109189682A (zh) * 2018-08-27 2019-01-11 广州云测信息技术有限公司 一种脚本录制方法和装置
CN109783343A (zh) * 2017-11-13 2019-05-21 北京嘀嘀无限科技发展有限公司 控件测试方法、装置、客户端设备和计算机可读存储介质
CN109783356A (zh) * 2018-12-14 2019-05-21 深圳壹账通智能科技有限公司 一种自动化测试方法及终端
CN109840201A (zh) * 2018-12-15 2019-06-04 中国平安人寿保险股份有限公司 Ui测试方法、装置、电子设备及计算机可读存储介质
CN109947650A (zh) * 2019-03-20 2019-06-28 广州云测信息技术有限公司 脚本步骤处理方法、装置和系统
CN110297758A (zh) * 2019-05-20 2019-10-01 深圳壹账通智能科技有限公司 用户界面自动化测试方法、装置及计算机可读存储介质

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070022407A1 (en) * 2001-07-27 2007-01-25 Accordsqa, Inc. Automated software testing and validation system
US20040261032A1 (en) * 2003-02-28 2004-12-23 Olander Daryl B. Graphical user interface navigation method
CN103309797A (zh) * 2012-03-09 2013-09-18 阿里巴巴集团控股有限公司 用户界面自动化测试方法及装置
US20140109057A1 (en) * 2012-10-12 2014-04-17 Vmware, Inc. Software development kit testing
CN106095666A (zh) * 2016-06-02 2016-11-09 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN107357727A (zh) * 2017-07-04 2017-11-17 广州君海网络科技有限公司 App运行测试方法、装置、可读存储介质和计算机设备
CN109783343A (zh) * 2017-11-13 2019-05-21 北京嘀嘀无限科技发展有限公司 控件测试方法、装置、客户端设备和计算机可读存储介质
CN108170611A (zh) * 2018-01-23 2018-06-15 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN108280026A (zh) * 2018-01-23 2018-07-13 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN108595329A (zh) * 2018-04-23 2018-09-28 腾讯科技(深圳)有限公司 一种应用测试方法、装置及计算机存储介质
CN108717393A (zh) * 2018-05-16 2018-10-30 平安科技(深圳)有限公司 一种应用程序测试方法及移动终端
CN109189682A (zh) * 2018-08-27 2019-01-11 广州云测信息技术有限公司 一种脚本录制方法和装置
CN109783356A (zh) * 2018-12-14 2019-05-21 深圳壹账通智能科技有限公司 一种自动化测试方法及终端
CN109840201A (zh) * 2018-12-15 2019-06-04 中国平安人寿保险股份有限公司 Ui测试方法、装置、电子设备及计算机可读存储介质
CN109947650A (zh) * 2019-03-20 2019-06-28 广州云测信息技术有限公司 脚本步骤处理方法、装置和系统
CN110297758A (zh) * 2019-05-20 2019-10-01 深圳壹账通智能科技有限公司 用户界面自动化测试方法、装置及计算机可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010359A (zh) * 2021-03-26 2021-06-22 西安航空电子科技有限公司 总线测试系统生成方法、系统、设备及存储介质
WO2023230797A1 (zh) * 2022-05-30 2023-12-07 北京小米移动软件有限公司 一种跨系统测试方法及装置
CN117827357A (zh) * 2024-03-04 2024-04-05 北京云测信息技术有限公司 一种终端设备的远程操作方法、装置及设备
CN117827357B (zh) * 2024-03-04 2024-06-14 北京云测信息技术有限公司 一种终端设备的远程操作方法、装置及设备

Similar Documents

Publication Publication Date Title
CN111083225B (zh) 在物联网平台中的数据处理方法、装置及物联网平台
CN112269746A (zh) 自动化测试方法及相关设备
CN108845930B (zh) 界面操作测试方法和装置、存储介质及电子装置
CN103530199B (zh) 一种修复软件运行错误的方法、装置及系统
CN111240973B (zh) 基于仿真的设备测试方法、系统及可读存储介质
CN112241360B (zh) 一种测试用例生成方法、装置、设备及存储介质
CN110647471B (zh) 接口测试用例生成方法、电子装置及存储介质
CN111382048B (zh) 真机测试平台上移动设备的管理方法和装置
CN106713011B (zh) 一种获取测试数据的方法与系统
CN104102578B (zh) 测试方法及系统、操作端
CN111258913A (zh) 算法自动测试方法、装置、计算机系统及可读存储介质
CN112506757A (zh) 自动测试方法、系统、计算机设备及其介质
CN110119350A (zh) 软件开发工具包测试方法、装置和设备及计算机存储介质
CN111782317A (zh) 页面的测试方法和装置、存储介质和电子装置
CN105721451B (zh) 一种可拓展的Modbus协议解析方法及装置
CN111736938A (zh) 信息的显示方法及装置、存储介质和电子装置
CN111563037A (zh) 基于测试试题的测试优化方法及装置、存储介质、终端
CN117493188A (zh) 接口测试方法及装置、电子设备及存储介质
CN111142859A (zh) 一种脚本生成方法、装置、电子设备及存储介质
CN114374745B (zh) 一种协议格式的处理方法及系统
CN103019927B (zh) 一种性能测试方法和系统
CN101916221A (zh) 一种针对设备进行单元测试的方法和系统
CN114297057A (zh) 一种自动化测试用例的设计及使用方法
CN110109698B (zh) 按键板配置方法、装置、计算机设备及可读存储介质
CN115237399A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Information Technology Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Shuke Haiyi Information Technology Co., Ltd