CN112732576A - 基于用户界面的自动化测试方法、装置及设备 - Google Patents
基于用户界面的自动化测试方法、装置及设备 Download PDFInfo
- Publication number
- CN112732576A CN112732576A CN202110024521.0A CN202110024521A CN112732576A CN 112732576 A CN112732576 A CN 112732576A CN 202110024521 A CN202110024521 A CN 202110024521A CN 112732576 A CN112732576 A CN 112732576A
- Authority
- CN
- China
- Prior art keywords
- user interface
- test
- target user
- interface control
- remote client
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 384
- 238000004088 simulation Methods 0.000 claims abstract description 90
- 238000000034 method Methods 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 38
- 238000013515 script Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种基于用户界面的自动化测试方法、装置及设备,通过获取模拟操作信息,模拟操作信息用于表征对目标用户界面控件的模拟操作指令;根据模拟操作信息,生成执行指令信息,并向远程客户端发送执行指令信息,其中,执行指令信息用于指示远程客户端返回与目标用户界面控件对应的功能数据;接收远程客户端返回的目标用户界面控件对应的功能数据,并根据目标用户界面控件对应的功能数据生成测试结果。执行指令信息在发送至远程客户端后,能够获得远程客户端返回的远程客户端内部的功能数据,实现对远程客户端内部功能运行情况的测试,解决现有的基于用户界面的测试方法无法获得客户端内部数据的问题,提高了测试效率和测试准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于用户界面的自动化测试方法、装置及设备。
背景技术
目前现有技术中有基于UI的自动化测试软件,能够通过记录UI界面中需要操作的位置截图、操作类型,运行脚本实现对应的功能测试。
然而,现有技术中基于用户界面的自动化测试方法,除了需求对UI层面的显示内容进行测试外,还需要对UI控件对应的功能数据进行测试,而此类UI控件对应的功能数据处于客户端内部,很难直接通过UI层面的测试步骤直接得到。
因此,现有技术中基于用户界面的自动化测试方法,很难获得客户端内部的数据,从而导致了无法对客户端内部功能进行测试的问题,影响测试效率和测试准确性。
发明内容
本申请实施例提供一种基于用户界面的自动化测试方法、装置及设备,用以解决基于用户界面的自动化测试方法无法对客户端内部功能进行测试的问题,影响测试效率和测试准确性。
根据本申请实施例的第一方面,本申请提供了一种基于用户界面的自动化测试方法,所述方法包括:获取模拟操作信息,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;根据所述模拟操作信息,生成执行指令信息,并向远程客户端发送所述执行指令信息,其中,所述执行指令信息用于指示远程客户端返回与所述目标用户界面控件对应的功能数据;接收所述远程客户端返回的所述目标用户界面控件对应的功能数据,并根据所述目标用户界面控件对应的功能数据生成测试结果。
在一种可能的实现方式中,根据所述模拟操作信息,生成执行指令信息,包括:根据所述模拟操作信息,确定目标用户界面控件;根据与所述目标用户界面控件对应的预设的远程执行代码块,生成执行指令信息,其中,所述远程执行代码块用于获取所述远程客户端内的所述目标用户界面控件的功能数据。
在一种可能的实现方式中,根据所述模拟操作信息,确定目标用户界面控件,包括:获取所述模拟操作指令对应的用户界面截图;对所述用户界面截图进行图像识别,确定所述目标用户界面控件。
在一种可能的实现方式中,所述执行指令信息中包括指令字符串,所述指令字符串用于调用所述远程客户端内预置的软件开发工具包;根据与所述目标用户界面控件对应的预设的远程执行代码块,生成执行指令信息,包括:根据预设协议,将所述远程执行代码块解析为所述指令字符串。
在一种可能的实现方式中,所述方法还包括:解析预设的测试脚本,得到本地执行代码块和远程执行代码块,其中,所述远程执行代码块用于获取所述远程客户端内的所述目标用户界面控件的功能数据;根据所述目标用户界面控件对应的功能数据生成测试结果,包括:执行所述本地执行代码块,判断所述目标用户界面控件的功能数据与预设的预期结果的一致性,若所述目标用户界面控件对应的功能数据与预设的预期结果相同,则测试结果正常;若所述目标用户界面控件对应的功能数据与预设的预期结果不相同,则测试结果异常。
在一种可能的实现方式中,所述方法还包括:获取所述远程客户端的测试状态信息,所述测试状态信息用于表征所述远程客户端执行所述执行指令信息的进度;根据所述测试状态信息,确定向所述远程客户端发送所述执行指令信息的时机,和/或;根据所述测试状态信息,确定生成测试结果的时机。
在一种可能的实现方式中,所述方法还包括:获取所述本地测试代码块对应的第一测试日志,以及获取所述远程客户端发送的第二测试日志;将所述第一测试日志和所述第二测试日志按照相同的数据格式存储为目标测试日志;根据所述目标测试日志生成测试报告。
在一种可能的实现方式中,所述方法还包括:将所述第二测试日志,按照所述第一测试日志的数据格式进行格式转换。
在一种可能的实现方式中,所述第二测试日志是所述远程客户端实时返回的。
根据本申请实施例的第二方面,本申请提供了一种基于用户界面的自动化测试方法,包括:接收执行指令信息;其中,所述执行指令信息用于指示远程客户端返回与目标用户界面控件对应的功能数据,所述执行指令信息是依据模拟操作信息生成的,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;执行所述执行指令信息,获取所述目标用户界面控件对应的功能数据;发送所述目标用户界面控件对应的功能数据至测试平台,其中,所述功能数据用于生成所述目标用户界面控件对应的功能数据的测试结果。
在一种可能的实现方式中,所述执行指令信息中包括指令字符串,所述指令字符串用于调用所述远程客户端内预置的软件开发工具包,执行所述执行指令信息,获取所述目标用户界面控件对应的功能数据,包括:根据预设的软件开发工具包,执行所述指令字符串,以获得所述目标用户界面控件对应的功能数据。
在一种可能的实现方式中,所述方法还包括:向所述测试平台发送测试状态信息,所述测试状态信息用于表征所述远程客户端执行所述执行指令信息的进度。
在一种可能的实现方式中,所述方法还包括:记录所述执行指令信息的执行情况,生成第二测试日志;向所述测试平台所述第二测试日志发送。
根据本申请实施例的第三方面,本申请提供了一种基于用户界面的自动化测试装置,包括:
获取模块,用于获取模拟操作信息,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;
生成模块,用于根据所述模拟操作信息,生成执行指令信息;
收发模块,用于向远程客户端发送所述执行指令信息,其中,所述执行指令信息用于指示远程客户端返回与所述目标用户界面控件对应的功能数据;接收所述远程客户端返回的所述目标用户界面控件对应的功能数据;
所述生成模块,还用于根据所述目标用户界面控件对应的功能数据生成测试结果。
在一种可能的实现方式中,所述生成模块,具体用于:根据所述模拟操作信息,确定目标用户界面控件;根据与所述目标用户界面控件对应的预设的远程执行代码块,生成执行指令信息,其中,所述远程执行代码块用于获取所述远程客户端内的所述目标用户界面控件的功能数据。
在一种可能的实现方式中,所述生成模块在根据所述模拟操作信息,确定目标用户界面控件时,具体用于:获取所述模拟操作指令对应的用户界面截图;对所述用户界面截图进行图像识别,确定所述目标用户界面控件。
在一种可能的实现方式中,所述执行指令信息中包括指令字符串,所述指令字符串用于调用所述远程客户端内预置的软件开发工具包;所述生成模块在根据与所述目标用户界面控件对应的预设的远程执行代码块,生成执行指令信息时,具体用于:根据预设协议,将所述远程执行代码块解析为所述指令字符串。
在一种可能的实现方式中,所述生成模块,还用于:解析预设的测试脚本,得到本地执行代码块和远程执行代码块,其中,所述远程执行代码块用于获取所述远程客户端内的所述目标用户界面控件的功能数据;所述生成模块在根据所述目标用户界面控件对应的功能数据生成测试结果时,具体用于:执行所述本地执行代码块,判断所述目标用户界面控件的功能数据与预设的预期结果的一致性,若所述目标用户界面控件对应的功能数据与预设的预期结果相同,则测试结果正常;若所述目标用户界面控件对应的功能数据与预设的预期结果不相同,则测试结果异常。
在一种可能的实现方式中,所述收发模块,还用于:获取所述远程客户端的测试状态信息,所述测试状态信息用于表征所述远程客户端执行所述执行指令信息的进度;所述生成模块,还用于:根据所述测试状态信息,确定向所述远程客户端发送所述执行指令信息的时机,和/或;根据所述测试状态信息,确定生成测试结果的时机。
在一种可能的实现方式中,所述生成模块,还用于:获取所述本地测试代码块对应的第一测试日志,以及获取所述远程客户端发送的第二测试日志;将所述第一测试日志和所述第二测试日志按照相同的数据格式存储为目标测试日志;根据所述目标测试日志生成测试报告。
在一种可能的实现方式中,所述生成模块,还用于:将所述第二测试日志,按照所述第一测试日志的数据格式进行格式转换。
在一种可能的实现方式中,所述第二测试日志是所述远程客户端实时返回的。
根据本申请实施例的第四方面,本申请提供了一种基于用户界面的自动化测试装置,包括:
收发模块,用于接收执行指令信息;其中,所述执行指令信息用于指示远程客户端返回与目标用户界面控件对应的功能数据,所述执行指令信息是依据模拟操作信息生成的,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;
执行模块,用于执行所述执行指令信息,获取所述目标用户界面控件对应的功能数据;
所述收发模块,还用于发送所述目标用户界面控件对应的功能数据至测试平台,其中,所述功能数据用于生成所述目标用户界面控件对应的功能数据的测试结果。
在一种可能的实现方式中,所述执行指令信息中包括指令字符串,所述指令字符串用于调用所述远程客户端内预置的软件开发工具包,所述执行模块,具体用于:根据预设的软件开发工具包,执行所述指令字符串,以获得所述目标用户界面控件对应的功能数据。
在一种可能的实现方式中,所述收发模块,还用于:向所述测试平台发送测试状态信息,所述测试状态信息用于表征所述远程客户端执行所述执行指令信息的进度。
在一种可能的实现方式中,所述执行模块,还用于:记录所述执行指令信息的执行情况,生成第二测试日志;所述收发模块,还用于:向所述测试平台所述第二测试日志发送。
根据本申请实施例的第五方面,本申请提供了一种电子设备,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行如本申请实施例第一方面任一项所述的基于用户界面的自动化测试方法。
根据本申请实施例的第六方面,本申请提供了一种电子设备,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行如本申请实施例第二方面任一项所述的基于用户界面的自动化测试方法。
根据本申请实施例的第七方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如本申请实施例第一方面任一项所述的基于用户界面的自动化测试方法。
本申请提供的基于用户界面的自动化测试方法,通过获取模拟操作信息,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;根据所述模拟操作信息,生成执行指令信息,并向远程客户端发送所述执行指令信息,其中,所述执行指令信息用于指示远程客户端返回与所述目标用户界面控件对应的功能数据;接收所述远程客户端返回的所述目标用户界面控件对应的功能数据,并根据所述目标用户界面控件对应的功能数据生成测试结果,由于根据模拟操作信息生成的执行指令信息,在发送至远程客户端后,能够获得远程客户端返回的远程客户端内部的,与目标用户界面控件对应的功能数据,根据功能数据,能够实现对远程客户端内部功能运行情况的测试,解决现有的基于用户界面的测试方法只能测试用户界面层面的功能和内容的问题,因此,提高了测试效率和测试准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1A为本申请实施例提供的一种基于用户界面的自动化测试方法的系统架构图;
图1B为本申请实施例提供的另一种基于用户界面的自动化测试方法的系统架构图;
图2为本申请一个实施例提供的基于用户界面的自动化测试方法的流程图;
图3为本申请实施例提供的一种模拟操作信息的实现方式示意图;
图4为本申请实施例提供的一种确定目标UI控件的示意图;
图5为本申请另一个实施例提供的基于用户界面的自动化测试方法的流程图;
图6为本申请实施例提供的一种解析并发送指令字符串的示意图;
图7为本申请实施例提供的一种测试脚本的代码示意图;
图8为图5所示实施例中步骤S208的具体流程图;
图9为本申请一个实施例提供的一种基于用户界面的自动化测试方法的流程图;
图10为本申请一个实施例提供的基于用户界面的自动化测试装置的结构示意图;
图11为本申请一个实施例提供的基于用户界面的自动化测试装置的结构示意图;
图12为本申请一个实施例提供的终端设备的示意图;
图13为本申请一个实施例提供的终端设备的示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
基于用户界面的测试:基于用户界面(User Interface,UI)的测试技术,是一种通过自动化的测试框架,结合图像识别技术和UI控件检索技术,对各种终端设备上运行的应用程序进行自动化检测的技术,能够通过图片截取等方式,实现对应用程序中UI控件的模拟操作,进而实现对应用程序交互流程及功能的测试,提高应用程序测试的效率。
软件开发工具包:软件开发工具包(Software Development Kit,SDK)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。SDK广义上指辅助开发某一类软件的相关文档、范例和工具的集合,通过应用程序接口(Application Programming Interface,API)接口调用SDK,可以直接实现特定的软件功能,从而提高软件开发的效率。
下面对本申请实施例的应用场景进行解释:
图1A为本申请实施例提供的一种基于用户界面(UI)的自动化测试方法的系统架构图,如图1A所示,在本实施例提供的测试场景中,待测试目标为游戏客户端,游戏客户端运行在游戏终端设备内,同时,游戏客户端与测试平台通信并进行信息交互,其中,测试平台可以运行在单独的测试终端设备上。图1B为本申请实施例提供的另一种基于用户界面的自动化测试方法的系统架构图,当然,在另一种可能的实现方式中,游戏客户端也可以运行在测试终端设备上,通过测试终端设备的不同进程实现游戏客户端与测试平台的运行,本实施例中以游戏客户端和测试平台分别设置在游戏终端设备和测试终端设备的实施方式为例进行介绍,之后类似的情况下不再重复说明。
现有技术中,在对游戏客户端进行测试的过程中,开发者用户在测试平台通过基于UI的自动化测试技术,生成并向游戏客户端发送模拟指令,并根据游戏客户端的返回结果,实现对游戏客户端在交互过程中的各项功能的测试目的。下面以一个更加具体地实施例,对上述测试过程进行介绍:
GAutomator是现有技术中一个针对手游的UI自动化测试框架,GAutomator以Unity3D引擎中的游戏对象(GameObject)为操作对象,通过操作GameObject实现UI自动化测试,以下以GAutomator为例对该过程进行说明。具体地,在待测试的游戏客户端的游戏脚本中,嵌入对应的SDK,SDK可以通过Unity3D引擎的内部接口获得游戏实时的控件信息。GAutomator通过在游戏客户端外部与该SDK通信并发送模拟指令,使SDK获得并回返相应的控件信息,例如为UI控件的位置、大小、文本、名称等信息,从而实现对游戏客户端中UI控件的测试。然而,在上述基于UI的自动化测试方案中,由于GAutomator只能获得UI层的数据,而无法在游戏客户端内部执行测试逻辑,进而获得相关的功能数据,因此,导致了上述的技术方案无法实现对游戏客户端内部功能的测试。例如,某个测试需求中需要执行一些界面操作,完成一些循环玩法,并验证玩法奖品的概率。对于上述的UI自动化测试框架而言,无法直接获取对应的奖品概率,而必须执行一个循环,例如执行10000次循环,依次对UI控件进行虚拟操作,每完成一次玩法后记录一下奖品类型。循环执行完毕后,判断目标奖品的出现概率、作为最终的结果输出。因此,导致了测试效率的降低和测试结果准确性的下降。
本申请实施例提供的一种基于用户界面的自动化测试方法,通过在测试平台获取模拟操作信息,根据模拟操作信息生成执行指令信息,并发送至远程客户端,使远程客户端返回与目标UI控件对应的远程客户端内部的功能数据,从而实现对远程客户端内部功能的测试,解决上述现有技术中无法对客户端内部功能进行测试的问题,提高测试效率和测试结果准确性。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请一个实施例提供的基于用户界面的自动化测试方法的流程图,应用于第一终端设备,第一终端设备上运行有测试平台;如图2所示,本实施例提供的基于用户界面的自动化测试方法包括以下几个步骤:
步骤S101,获取模拟操作信息,模拟操作信息用于表征对目标UI控件的模拟操作指令。
示例性地,模拟操作信息是表征对目标UI控件进行虚拟操作的指令信息,例如包括点击目标UI控件、滑动UI等,其中,UI控件例如包括应用程序中可获取相关信息的图片、按钮等。对目标UI控件进行虚拟操作的目的,是为了实现调用应用程序中的某一指定功能,例如,点击UI控件a,能够打开应用程序;点击UI控件b,能够在应用程序中显示特定图片等,此处不一一进行赘述。
进一步地,示例性地,基于用户界面的自动化测试方法,是用于测试在对UI控件进行操作的过程中,应用程序中的各项信息的测试方法,因此,模拟操作指令对应测试用例中的首步操作,模拟操作信息中包括了目标UI控件以及对目标UI控件的模拟操作指令的相关描述信息。
进一步地,模拟操作信息可以是用户根据测试需要预先设置的代码段或函数,该代码段或函数中包括了目标UI控件以及对目标UI控件的模拟操作指令的相关描述信息,通过执行该代码段或函数,可以实现获取模拟操作信息的步骤。图3为本申请实施例提供的一种模拟操作信息的实现方式示意图,如图3所示,图3示出了一行执行代码,其中该执行代码中的函数“touch()”表示对模拟操作指令的描述,具体地,例如执行点击操作;执行函数中的图片是以截图的方式对目标UI控件的描述。
步骤S102,根据模拟操作信息,生成执行指令信息,并向远程客户端发送执行指令信息,其中,执行指令信息用于指示远程客户端返回与目标UI控件对应的功能数据。
示例性地,执行指令信息包括测试平台向远程客户端发送的远程过程调用(Remote Procedure Call,RPC)消息,该RPC消息中包含远程客户端需要执行的与目标UI控件相关的操作指令,以使远程客户端能够执行该操作指令而获得相应的与目标UI控件对应的功能数据。
进一步地,在远程客户端内,预设有能够根据该执行指令信息,而获得相应的客户端内部的功能数据的程序,例如为SDK。当远程客户端接收到执行指令信息后,能够执行与执行指令信息对应的方法,从而获得对应的功能数据,并将该功能数据返回测试平台。
在一种可能的实现方式中,根据模拟操作信息,生成执行指令信息的方式包括:
根据模拟操作信息,确定目标UI控件;根据与目标UI控件对应的预设的远程执行代码块,生成执行指令信息,在一种可能的实现方式中,根据模拟操作信息,确定目标UI控件的方法可以包括:获取模拟操作指令对应的UI截图;对UI截图进行图像识别,确定目标UI控件。图4为本申请实施例提供的一种确定目标UI控件的示意图,如图4所示,通过截图工具,对屏幕上显示的模拟操作指令对应的图像进行截图,可获得一个与模拟操作指令的操作对象的截图,即UI截图,该UI截图可以是预先获得的。之后,通过对该UI截图进行图像识别,即可确定对应的目标UI控件,模拟操作指令即用于对该目标UI控件进行操作的指令,例如点击、长按、滑动该目标UI控件等。
进一步地,远程执行代码块用于获取远程客户端内的目标用户界面控件的功能数据,示例性地,远程执行代码块可以为包括多行可执行代码的函数,目标UI控件为远程客户端的开启图标;则远程执行代码块例如为:
def remote_run_code()
{
logger.write_log(“远程客户端内所记录的报错”)
result=inner_data.value
return result
}
其中,remote_run_code()即为远程执行代码块,其中包括了:
logger.write_log(“远程客户端内所记录的报错”);result=inner_data.value;return result;三行可执行代码,用于在远程客户端内执行。更加具体地:
代码行:logger.write_log(“远程客户端内所记录的报错”),远程客户端在执行该代码行后,将字符串“远程客户端内所记录的报错”写入日志信息。
代码行:result=inner_data.value,远程客户端在执行该代码行后,获取inner_data的数值,并赋予result。
代码行return result,远程客户端在执行该代码行后,将result,即inner_data的数值,作为输出值返回。
通过该远程执行代码块,可以实现对远程客户端的控制,从而获得远程客户端内与目标UI控件对应的功能参数。需要说明的是,对于远程代码块的具体编写方式,根据开发语言的不同,可能有对应不同的实现方式,此处仅为示例性地,不对其他实现方式赘述。
进一步地,生成执行指令信息并向远程客户端发送执行指令信息的方法包括,在测试平台内预设有代码转换模块,能够将操作模拟信息对应的远程执行代码块解析为远程客户端能够执行的指令字符串并发送给远程客户端运行。在远程客户端内,预设有能够执行该指令字符串,而获得相应的客户端内部的功能数据的SDK。当远程客户端内的SDK接收到指令字符串后,能够执行与执行指令信息对应的方法,从而获得对应的功能数据,并将该功能数据返回测试平台。
进一步地,在一种可能的实现方式中,SDK中含有代码形式实现的软件功能模块“运行器”,SDK接收到指令字符串后,依靠运行器运行指令字符串,并记录下指令字符串中所要记录的日志(log)、以及客户端运行数据、客户端性能数据等,例如引擎性能数据,具体地,例如游戏的渲染面数、逻辑帧数、draw-call等各种指定类型的数据。最终将测试得到的功能数据和测试结果返回给测试平台,由于运行器是运行在远程客户端内部的,因此可以获得客户端内的一些功能性关键值,或者调用一些客户端的内部逻辑,进而可以达到在远程游戏客户端内运行测试逻辑的目的,并且可以获取关键性的测试数据、以满足测试脚本的更加深度灵活的逻辑需要。
步骤S103,接收远程客户端返回的目标UI控件对应的功能数据,并根据目标UI控件对应的功能数据生成测试结果。
示例性地,远程客户端在接收并执行执行指令信息后,能够得到远程客户端内部的与目标UI控件对应的功能数据,此类功能数据仅通过UI层面的信息调用是无法获得的,因此,通过该类功能数据可以对远程客户端的内部功能运行情况进行测试。远程客户端在根据执行指令信息得到与目标UI控件对应的功能数据后,会将该与目标UI控件对应的功能数据实时或非实时的发送给测试平台,测试平台接收到远程客户端返回的功能数据后,根据测试用例中记录的期望结果进行比对,即可确定远程客户端返回的与目标UI控件对应的功能数据是否存在异常,从而生成测试结果,完成对远程客户端内部功能的测试。
本实施例中,通过获取模拟操作信息,模拟操作信息用于表征对目标用户界面控件的模拟操作指令;根据模拟操作信息,生成执行指令信息,并向远程客户端发送执行指令信息,其中,执行指令信息用于指示远程客户端返回与目标用户界面控件对应的功能数据;接收远程客户端返回的目标用户界面控件对应的功能数据,并根据目标用户界面控件对应的功能数据生成测试结果,由于根据模拟操作信息生成的执行指令信息,在发送至远程客户端后,能够获得远程客户端返回的远程客户端内部的,与目标用户界面控件对应的功能数据,根据功能数据,能够实现对远程客户端内部功能运行情况的测试,解决现有的基于用户界面的测试方法只能测试用户界面层面的功能和内容的问题,因此,提高了测试效率和测试准确性。
图5为本申请另一个实施例提供的基于用户界面的自动化测试方法的流程图,如图5所示,本实施例提供的基于用户界面的自动化测试方法在图2所示实施例提供的基于用户界面的自动化测试方法的基础上,对S102进一步细化,并增加了实时检测和生成测试日志的步骤,则本实施例提供的基于用户界面的自动化测试方法包括以下几个步骤:
步骤S201,解析预设的测试脚本,得到本地执行代码块和远程执行代码块。
示例性地,测试脚本是根据一定规则编写的,用于完成测试任务的描述性信息,通过执行测试脚本,可以实现对应的测试功能。具体地,测试脚本中包含多行执行代码,其中,包括用于在测试平台本地执行的本地执行代码块,以及,用于在远程客户端执行的远程执行代码块,其中,远程执行代码块用于获取远程客户端内的目标UI控件的功能数据。
在一种可能的实现方式中,测试脚本中的本地执行代码块的内容和远程执行代码块的内容是混合在一起的,测试平台通过启动一个脚本运行进程,对测试脚本进行逐行解析,并依次按顺序运行,以确定并实现本地执行代码块和远程执行代码块的功能。
步骤S202,获取模拟操作信息,模拟操作信息用于表征对目标UI控件的模拟操作指令。
步骤S203,根据模拟操作信息,确定目标UI控件。
步骤S204,根据预设协议,将目标UI控件对应的预设的远程执行代码块,解析为指令字符串,并向远程客户端发送包括指令字符串的执行指令信息,其中,指令字符串用于调用远程客户端内预置的SDK。
示例性地,其中,预设协议是与远程客户端内预置的SDK相匹配,通过预设协议,可以将测试平台的测试脚本中的远程代码块,映射为远程客户端内的SDK可以执行的指令字符串。更加具体地,该预设协议设置在代码转换模块内,代码转换模块通过该预设协议,实现远程执行代码块至指令字符串的解析过程。进一步地,将目标UI控件对应的预设的远程执行代码块,解析为指令字符串,并向远程客户端发送包括指令字符串的执行指令信息的实现过程,与图2所示实施例中步骤S102中所介绍的实现类似,此处步骤赘述。
在一种可能的实现方式中,图6为本申请实施例提供的一种解析并发送指令字符串的示意图,如图6所示,测试脚本中包含有远程执行代码块,当测试脚本在测试平台中运行后,测试平台中的代码转换模块将测试脚本中的远程执行代码块解析为指令字符串,并发送至远程客户端的SDK,SDK内的运行器执行该指令字符串,从而获得相应的运行日志和功能数据。
可选地,在步骤S204之后,还包括S205A和S205B两个步骤:
步骤S205A,获取远程客户端的测试状态信息,测试状态信息用于表征远程客户端执行执行指令信息的进度;
步骤S205B,根据测试状态信息,确定下一次向远程客户端发送执行指令信息的时机,和/或;根据测试状态信息,确定生成测试结果的时机。
示例性地,远程客户端在接收到测试平台发送的指令字符串后,调用内置的SDK执行对应的测试指令,如果执行执行指令信息所需的时间较长,则在运行测试脚本过程中,测试平台需要在远程客户端一侧执行该执行指令信息时,处于等待状态,直至执行指令信息执行结束后,对返回值或测试结果进行处理,进行下一句脚本的运行,即继续向远程客户端发送执行指令信息,或者,根据测试状态信息,生成测试结果。因此,测试平台需要获取远程客户端执行该执行指令信息的进度,即测试状态信息。
进一步地,示例性地,获取远程客户端的测试状态信息的方法可以为:测试平台内设有状态检查器模块,远程客户端的SDK内设置有运行器状态查询模块,测试平台的状态检查器模块通过与远程客户端的运行器状态查询模块实时通信,可以获知当前远程客户端的运行器中的执行指令信息的执行进度。
步骤S206,接收远程客户端返回的目标用户界面控件对应的功能数据。
步骤S207,执行本地执行代码块,判断目标用户界面控件的功能数据与预设的预期结果的一致性,若目标用户界面控件对应的功能数据与预设的预期结果相同,则测试结果正常;若目标用户界面控件对应的功能数据与预设的预期结果不相同,则测试结果异常。
图7为本申请实施例提供的一种测试脚本的代码示意图,如图7所示,其中,第一步操作为一个本地执行代码块,用于表征“触摸点击A应用程序的图标”的虚拟操作,用于打开A应用程序的客户端;第二步操作为一个本地执行代码块和远程执行代码块混合的代码块,用于通过调用send_and_run()功能,将远程执行代码块remote_run_code发送至远程客户端,并在远程客户端执行,最终接收到远程客户端返回的与第一步操作中的A应用程序对应的功能数据remote_clinet_inner_value,其中,remote_run_code的实现方式,可参见步骤S102中远程执行代码块remote_run_code的示例,此处不再赘述。第三步操作为一个本地执行代码块,用于通过assert_exists()函数,将远程客户端返回的功能数据remote_clinet_inner_value,与测试用例中的期望结果100进行比较,判断测试结果是否存在异常。其中,测试脚本中的第二步、第三步操作,即对应步骤S206、S207的实现方法。
步骤S208,根据测试结果,生成测试报告。
可选地,如图8所示,步骤S208包括步骤S2081、S2082和S2083三个具体的实现步骤:
步骤S2081,获取本地测试代码块对应的第一测试日志,以及获取远程客户端发送的第二测试日志。
示例性地,在测试平台运行测试脚本中的本地测试代码块后,会产生相应的测试日志,即第一测试日志,同时,在远程客户端根据接收到的指令字符串执行客户端内部功能的测试后,也会返回相应的测试日志,即第二测试日志。测试日志中包括测试参数、测试中间变量、测试结果等与测试过程相关的信息,根据第一测试日志和第二测试日志,可生成用于描述整个测试过程和测试结果的测试报告。
步骤S2082,将第一测试日志和第二测试日志按照相同的数据格式存储为目标测试日志。
步骤S2083,根据目标测试日志生成测试报告。
为了生成完整的测试报告,需要将第一测试日志与第二测试日志中记载的与测试过程相关的内容进行汇总,具体地,即对于测试平台,本地执行代码运行时,将测试脚本运行中间结果记录进预设格式的日志文件,形成第一测试日志;对于远程代码运行时,在远程客户端执行指令字符串对应的测试操作结束后,把相关的测试结果、测试数据记录进相同预设格式的日志文件中,形成第二测试日志。从而保证了,无论对于本地代码、还是远程执行代码块,测试平台获得的测试日志记录均可以主动完成记录过程,以统一格式记录到同一个目标测试日志中,并根据目标测试日志生成测试报告,以保障运行结果。
其中,在一种可能的实现方式中,在测试平台获得第二测试日志后,将第二测试日志按照第一测试日志的格式进行格式转换,以使第二测试日志与第一测试日志的数据格式相同,而实现将第一测试日志和第二测试日志合并生成目标测试日志的目的。示例性地,第二测试日志是远程客户端实时返回的,即随着测试平台中测试脚本的执行,远程客户端在执行接收到的指令字符串后,会将执行后获得的测试结果,以第二测试日志的形式实时的返回给测试平台,使测试平台能够实时的获得测试过程中的情况,提高测试准确性。
具体地,在一种可能的实现方式中,测试平台中预设有以代码形式实现的“测试数据获取模块”,该软件功能模块能够在获取到第二测试日志后,能够转为与本地的第一测试日志的相同格式,并存入统一的日志文件中,日志格式例如为txt、json等文本格式。并按照测试脚本中的测试步骤对进行记录。其中,第一测试日志和第二测试日志中,记录执行测试脚本对应的每一步操作的描述、函数调用、调用参数、结果、结果描述、错误的跟踪(trace)明细、错误类型等信息,进而可以根据这些信息渲染测试报告。
在一种可能的实现方式中,测试报告还可以单独通过第一测试日志或第二测试日志生成,即生成单独的用于描述本地执行的测试的测试结果的报告,和用于描述远程客户端执行的测试的测试结果的报告。可选地,第一测试日志对应的测试报告与第二测试日志对应的测试报告的报告格式一致。
本实施例中,步骤S202-步骤S203的实现方式与本申请图2所示实施例中的步骤S101-步骤S102的实现方式相同,在此不再一一赘述。
图9为本申请一个实施例提供的一种基于用户界面的自动化测试方法的流程图,如图9所示,应用于第二终端设备,第二终端设备上运行有远程客户端,第一终端设备上的测试平台与第二终端设备上的远程客户端通信连接;如图2所示,本实施例提供的基于用户界面的自动化测试方法包括以下几个步骤:
步骤S301,接收执行指令信息;其中,执行指令信息用于指示远程客户端返回与目标UI控件对应的功能数据,执行指令信息是依据模拟操作信息生成的,模拟操作信息用于表征对目标用户界面控件的模拟操作指令。
步骤S302,执行执行指令信息,获取目标用户界面控件对应的功能数据。
在一种可能的实现方式中,执行指令信息中包括指令字符串,指令字符串用于调用远程客户端内预置的SDK,执行执行指令信息,获取目标用户界面控件对应的功能数据,包括:根据预设的软件开发工具包,执行指令字符串,以获得目标用户界面控件对应的功能数据。
步骤S303,发送目标用户界面控件对应的功能数据至测试平台,其中,功能数据用于生成目标用户界面控件对应的功能数据的测试结果。
示例性地,远程客户端例如为待测试的游戏客户端,该远程客户端运行与第二终端设备上,并与第一终端设备的测试平台通信连接。在基于UI的测试自动化测试任务中,远程客户端在接收到测试平台发送的执行指令信息后,会通过预置的SDK以及SDK内的运行器,执行该执行指令信息,从而获得远程客户端内部的功能数据,并将该功能数据返回测试平台,生成测试结果。由于远程客户端内置的SDK以及SDK运行器是运行在远程客户端内部的,因此可以获得客户端内的一些功能性关键值,或者调用一些客户端的内部逻辑,进而可以达到在远程游戏客户端内运行测试逻辑的目的,并且可以获取关键性的测试数据、以满足测试脚本的更加深度灵活的逻辑需要。
可选地,上述方法还包括:
步骤S304,向测试平台发送测试状态信息,测试状态信息用于表征远程客户端执行执行指令信息的进度。
可选地,上述方法还包括:
步骤S305,记录执行指令信息的执行情况,生成第二测试日志;向测试平台第二测试日志发送。
其中,S304、S305可以与S301-S303共同实施,也可以单独实施,此处不对此进行具体限定。
其中,在远程客户端执行步骤S301-S305具体实现方法,在图2-图7所对应实施例中已进行详细描述,此处不再进行赘述。
图10为本申请一个实施例提供的基于用户界面的自动化测试装置的结构示意图,应用于第一终端设备,第一终端设备上运行有测试平台;如图10所示,本实施例提供的基于用户界面的自动化测试装置4包括:
获取模块41,用于获取模拟操作信息,模拟操作信息用于表征对目标用户界面控件的模拟操作指令;
生成模块42,用于根据模拟操作信息,生成执行指令信息;
收发模块43,用于向远程客户端发送执行指令信息,其中,执行指令信息用于指示远程客户端返回与目标用户界面控件对应的功能数据;接收远程客户端返回的目标用户界面控件对应的功能数据;
生成模块42,还用于根据目标用户界面控件对应的功能数据生成测试结果。
在一种可能的实现方式中,生成模块42,具体用于:根据模拟操作信息,确定目标用户界面控件;根据与目标用户界面控件对应的预设的远程执行代码块,生成执行指令信息,其中,远程执行代码块用于获取远程客户端内的目标用户界面控件的功能数据。
在一种可能的实现方式中,生成模块42在根据模拟操作信息,确定目标用户界面控件时,具体用于:获取模拟操作指令对应的用户界面截图;对用户界面截图进行图像识别,确定目标用户界面控件。
在一种可能的实现方式中,执行指令信息中包括指令字符串,指令字符串用于调用远程客户端内预置的软件开发工具包;生成模块42在根据与目标用户界面控件对应的预设的远程执行代码块,生成执行指令信息时,具体用于:根据预设协议,将远程执行代码块解析为指令字符串。
在一种可能的实现方式中,生成模块42,还用于:解析预设的测试脚本,得到本地执行代码块和远程执行代码块,其中,远程执行代码块用于获取远程客户端内的目标用户界面控件的功能数据;生成模块在根据目标用户界面控件对应的功能数据生成测试结果时,具体用于:执行本地执行代码块,判断目标用户界面控件的功能数据与预设的预期结果的一致性,若目标用户界面控件对应的功能数据与预设的预期结果相同,则测试结果正常;若目标用户界面控件对应的功能数据与预设的预期结果不相同,则测试结果异常。
在一种可能的实现方式中,收发模块43,还用于:获取远程客户端的测试状态信息,测试状态信息用于表征远程客户端执行执行指令信息的进度;生成模块42,还用于:根据测试状态信息,确定向远程客户端发送执行指令信息的时机,和/或;根据测试状态信息,确定生成测试结果的时机。
在一种可能的实现方式中,生成模块42,还用于:获取本地测试代码块对应的第一测试日志,以及获取远程客户端发送的第二测试日志;将第一测试日志和第二测试日志按照相同的数据格式存储为目标测试日志;根据目标测试日志生成测试报告。
在一种可能的实现方式中,生成模块42,还用于:将第二测试日志,按照第一测试日志的数据格式进行格式转换。
在一种可能的实现方式中,第二测试日志是远程客户端实时返回的。
其中,获取模块41、生成模块42和收发模块43依次连接。本实施例提供的基于用户界面的自动化测试装置4可以执行如图2-图8所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图11为本申请一个实施例提供的基于用户界面的自动化测试装置的结构示意图,应用于第二终端设备,第二终端设备上运行有远程客户端;如图11所示,本实施例提供的基于用户界面的自动化测试装置5包括:
收发模块51,用于接收执行指令信息;其中,执行指令信息用于指示远程客户端返回与目标用户界面控件对应的功能数据,执行指令信息是依据模拟操作信息生成的,模拟操作信息用于表征对目标用户界面控件的模拟操作指令;
执行模块52,用于执行执行指令信息,获取目标用户界面控件对应的功能数据;
收发模块51,还用于发送目标用户界面控件对应的功能数据至测试平台,其中,功能数据用于生成目标用户界面控件对应的功能数据的测试结果。
在一种可能的实现方式中,执行指令信息中包括指令字符串,指令字符串用于调用远程客户端内预置的软件开发工具包,执行模块52,具体用于:根据预设的软件开发工具包,执行指令字符串,以获得目标用户界面控件对应的功能数据。
在一种可能的实现方式中,收发模块51,还用于:向测试平台发送测试状态信息,测试状态信息用于表征远程客户端执行执行指令信息的进度。
在一种可能的实现方式中,执行模块52,还用于:记录执行指令信息的执行情况,生成第二测试日志;收发模块,还用于:向测试平台第二测试日志发送。
其中,收发模块51、执行模块52连接。本实施例提供的基于用户界面的自动化测试装置5可以执行如图9所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图12为本申请一个实施例提供的电子设备的示意图,如图12所示,本实施例提供的电子设备6包括:存储器61,处理器62以及计算机程序。
其中,计算机程序存储在存储器61中,并被配置为由处理器62执行以实现本申请图2-图8所对应的实施例中任一实施例提供的基于用户界面的自动化测试方法。
其中,存储器61和处理器62通过总线63连接。
相关说明可以对应参见图2-图8所对应的实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
图13为本申请一个实施例提供的电子设备的示意图,如图13所示,本实施例提供的电子设备7包括:存储器71,处理器72以及计算机程序。
其中,计算机程序存储在存储器71中,并被配置为由处理器72执行以实现本申请图9所对应的实施例中任一实施例提供的基于用户界面的自动化测试方法。
其中,存储器71和处理器72通过总线73连接。
相关说明可以对应参见图9所对应的实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本申请一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本申请图2-图9所对应的实施例中任一实施例提供的基于用户界面的自动化测试方法。
其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (18)
1.一种基于用户界面的自动化测试方法,其特征在于,包括:
获取模拟操作信息,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;
根据所述模拟操作信息,生成执行指令信息,并向远程客户端发送所述执行指令信息,其中,所述执行指令信息用于指示远程客户端返回与所述目标用户界面控件对应的功能数据;
接收所述远程客户端返回的所述目标用户界面控件对应的功能数据,并根据所述目标用户界面控件对应的功能数据生成测试结果。
2.根据权利要求1所述的方法,其特征在于,根据所述模拟操作信息,生成执行指令信息,包括:
根据所述模拟操作信息,确定目标用户界面控件;
根据与所述目标用户界面控件对应的预设的远程执行代码块,生成执行指令信息,其中,所述远程执行代码块用于获取所述远程客户端内的所述目标用户界面控件的功能数据。
3.根据权利要求2所述的方法,其特征在于,根据所述模拟操作信息,确定目标用户界面控件,包括:
获取所述模拟操作指令对应的用户界面截图;
对所述用户界面截图进行图像识别,确定所述目标用户界面控件。
4.根据权利要求2所述的方法,其特征在于,所述执行指令信息中包括指令字符串,所述指令字符串用于调用所述远程客户端内预置的软件开发工具包;根据与所述目标用户界面控件对应的预设的远程执行代码块,生成执行指令信息,包括:
根据预设协议,将所述远程执行代码块解析为所述指令字符串。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
解析预设的测试脚本,得到本地执行代码块和远程执行代码块,其中,所述远程执行代码块用于获取所述远程客户端内的所述目标用户界面控件的功能数据;
根据所述目标用户界面控件对应的功能数据生成测试结果,包括:
执行所述本地执行代码块,判断所述目标用户界面控件的功能数据与预设的预期结果的一致性,若所述目标用户界面控件对应的功能数据与预设的预期结果相同,则测试结果正常;若所述目标用户界面控件对应的功能数据与预设的预期结果不相同,则测试结果异常。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述远程客户端的测试状态信息,所述测试状态信息用于表征所述远程客户端执行所述执行指令信息的进度;
根据所述测试状态信息,确定向所述远程客户端发送所述执行指令信息的时机,和/或;
根据所述测试状态信息,确定生成测试结果的时机。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
获取所述本地测试代码块对应的第一测试日志,以及获取所述远程客户端发送的第二测试日志;
将所述第一测试日志和所述第二测试日志按照相同的数据格式存储为目标测试日志;
根据所述目标测试日志生成测试报告。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
将所述第二测试日志,按照所述第一测试日志的数据格式进行格式转换。
9.根据权利要求7所述的方法,其特征在于,所述第二测试日志是所述远程客户端实时返回的。
10.一种基于用户界面的自动化测试方法,其特征在于,包括:
接收执行指令信息;其中,所述执行指令信息用于指示远程客户端返回与目标用户界面控件对应的功能数据,所述执行指令信息是依据模拟操作信息生成的,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;
执行所述执行指令信息,获取所述目标用户界面控件对应的功能数据;
发送所述目标用户界面控件对应的功能数据至测试平台,其中,所述功能数据用于生成所述目标用户界面控件对应的功能数据的测试结果。
11.根据权利要求10所述的方法,其特征在于,所述执行指令信息中包括指令字符串,所述指令字符串用于调用所述远程客户端内预置的软件开发工具包,执行所述执行指令信息,获取所述目标用户界面控件对应的功能数据,包括:
根据预设的软件开发工具包,执行所述指令字符串,以获得所述目标用户界面控件对应的功能数据。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
向所述测试平台发送测试状态信息,所述测试状态信息用于表征所述远程客户端执行所述执行指令信息的进度。
13.根据权利要求10-12任一项所述的方法,其特征在于,所述方法还包括:
记录所述执行指令信息的执行情况,生成第二测试日志;
向所述测试平台所述第二测试日志发送。
14.一种基于用户界面的自动化测试装置,其特征在于,包括:
获取模块,用于获取模拟操作信息,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;
生成模块,用于根据所述模拟操作信息,生成执行指令信息;
收发模块,用于向远程客户端发送所述执行指令信息,其中,所述执行指令信息用于指示远程客户端返回与所述目标用户界面控件对应的功能数据;接收所述远程客户端返回的所述目标用户界面控件对应的功能数据;
所述生成模块,还用于根据所述目标用户界面控件对应的功能数据生成测试结果。
15.一种基于用户界面的自动化测试装置,其特征在于,包括:
收发模块,用于接收执行指令信息;其中,所述执行指令信息用于指示远程客户端返回与目标用户界面控件对应的功能数据,所述执行指令信息是依据模拟操作信息生成的,所述模拟操作信息用于表征对目标用户界面控件的模拟操作指令;
执行模块,用于执行所述执行指令信息,获取所述目标用户界面控件对应的功能数据;
所述收发模块,还用于发送所述目标用户界面控件对应的功能数据至测试平台,其中,所述功能数据用于生成所述目标用户界面控件对应的功能数据的测试结果。
16.一种电子设备,其特征在于,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1至9中任一项所述的基于用户界面的自动化测试方法。
17.一种电子设备,其特征在于,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求10至13中任一项所述的基于用户界面的自动化测试方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至13任一项所述的基于用户界面的自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110024521.0A CN112732576B (zh) | 2021-01-08 | 2021-01-08 | 基于用户界面的自动化测试方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110024521.0A CN112732576B (zh) | 2021-01-08 | 2021-01-08 | 基于用户界面的自动化测试方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732576A true CN112732576A (zh) | 2021-04-30 |
CN112732576B CN112732576B (zh) | 2024-06-04 |
Family
ID=75589893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110024521.0A Active CN112732576B (zh) | 2021-01-08 | 2021-01-08 | 基于用户界面的自动化测试方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732576B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282488A (zh) * | 2021-05-13 | 2021-08-20 | 展讯通信(上海)有限公司 | 终端的测试方法及装置、存储介质、终端 |
CN113395360A (zh) * | 2021-08-17 | 2021-09-14 | 苏州浪潮智能科技有限公司 | Windows系统用户操作模拟方法、系统、终端及存储介质 |
CN114679402A (zh) * | 2022-03-25 | 2022-06-28 | 武汉联影智融医疗科技有限公司 | 一种医疗机器人上下位机间通信协议的测试方法及装置 |
WO2023230798A1 (zh) * | 2022-05-30 | 2023-12-07 | 北京小米移动软件有限公司 | 一种跨系统的按键测试方法及装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160072692A1 (en) * | 2014-09-04 | 2016-03-10 | Home Box Office, Inc. | Two-way remote communication system |
CN105426278A (zh) * | 2015-11-20 | 2016-03-23 | 北京畅游天下网络技术有限公司 | 一种客户端设备性能测试方法及系统 |
CN107436844A (zh) * | 2017-07-07 | 2017-12-05 | 北京奇安信科技有限公司 | 一种接口用例合集的生成方法及装置 |
WO2018120721A1 (zh) * | 2016-12-30 | 2018-07-05 | 上海壹账通金融科技有限公司 | 用户界面的测试方法、系统、电子装置及计算机可读存储介质 |
CN109815120A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 应用的测试方法、装置、计算机设备和存储介质 |
CN109828903A (zh) * | 2018-12-14 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机装置及存储介质 |
CN109985387A (zh) * | 2019-03-25 | 2019-07-09 | 网易(杭州)网络有限公司 | 自动化测试方法和装置 |
CN110413524A (zh) * | 2019-07-26 | 2019-11-05 | 中国工商银行股份有限公司 | 用于生成测试脚本的方法和装置、自动化测试方法 |
US10528454B1 (en) * | 2018-10-23 | 2020-01-07 | Fmr Llc | Intelligent automation of computer software testing log aggregation, analysis, and error remediation |
CN110879777A (zh) * | 2019-10-12 | 2020-03-13 | 平安普惠企业管理有限公司 | 应用界面的控件测试方法、装置、计算机设备及存储介质 |
CN111061610A (zh) * | 2019-12-09 | 2020-04-24 | 广州鼎甲计算机科技有限公司 | 集群系统性能测试报告的生成方法、装置和计算机设备 |
CN111177013A (zh) * | 2020-01-06 | 2020-05-19 | 北京达佳互联信息技术有限公司 | 日志数据获取方法、装置、计算机设备及存储介质 |
US20200356465A1 (en) * | 2018-01-23 | 2020-11-12 | Netease (Hangzhou) Network Co.,Ltd. | Automatic testing method and apparatus, storage medium and electronic device |
CN112115055A (zh) * | 2020-09-21 | 2020-12-22 | 北京自如信息科技有限公司 | 一种多机自动化测试方法、装置及计算机设备 |
-
2021
- 2021-01-08 CN CN202110024521.0A patent/CN112732576B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160072692A1 (en) * | 2014-09-04 | 2016-03-10 | Home Box Office, Inc. | Two-way remote communication system |
CN105426278A (zh) * | 2015-11-20 | 2016-03-23 | 北京畅游天下网络技术有限公司 | 一种客户端设备性能测试方法及系统 |
WO2018120721A1 (zh) * | 2016-12-30 | 2018-07-05 | 上海壹账通金融科技有限公司 | 用户界面的测试方法、系统、电子装置及计算机可读存储介质 |
CN107436844A (zh) * | 2017-07-07 | 2017-12-05 | 北京奇安信科技有限公司 | 一种接口用例合集的生成方法及装置 |
US20200356465A1 (en) * | 2018-01-23 | 2020-11-12 | Netease (Hangzhou) Network Co.,Ltd. | Automatic testing method and apparatus, storage medium and electronic device |
US10528454B1 (en) * | 2018-10-23 | 2020-01-07 | Fmr Llc | Intelligent automation of computer software testing log aggregation, analysis, and error remediation |
CN109815120A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 应用的测试方法、装置、计算机设备和存储介质 |
CN109828903A (zh) * | 2018-12-14 | 2019-05-31 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机装置及存储介质 |
CN109985387A (zh) * | 2019-03-25 | 2019-07-09 | 网易(杭州)网络有限公司 | 自动化测试方法和装置 |
CN110413524A (zh) * | 2019-07-26 | 2019-11-05 | 中国工商银行股份有限公司 | 用于生成测试脚本的方法和装置、自动化测试方法 |
CN110879777A (zh) * | 2019-10-12 | 2020-03-13 | 平安普惠企业管理有限公司 | 应用界面的控件测试方法、装置、计算机设备及存储介质 |
CN111061610A (zh) * | 2019-12-09 | 2020-04-24 | 广州鼎甲计算机科技有限公司 | 集群系统性能测试报告的生成方法、装置和计算机设备 |
CN111177013A (zh) * | 2020-01-06 | 2020-05-19 | 北京达佳互联信息技术有限公司 | 日志数据获取方法、装置、计算机设备及存储介质 |
CN112115055A (zh) * | 2020-09-21 | 2020-12-22 | 北京自如信息科技有限公司 | 一种多机自动化测试方法、装置及计算机设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282488A (zh) * | 2021-05-13 | 2021-08-20 | 展讯通信(上海)有限公司 | 终端的测试方法及装置、存储介质、终端 |
CN113395360A (zh) * | 2021-08-17 | 2021-09-14 | 苏州浪潮智能科技有限公司 | Windows系统用户操作模拟方法、系统、终端及存储介质 |
CN114679402A (zh) * | 2022-03-25 | 2022-06-28 | 武汉联影智融医疗科技有限公司 | 一种医疗机器人上下位机间通信协议的测试方法及装置 |
CN114679402B (zh) * | 2022-03-25 | 2024-05-14 | 武汉联影智融医疗科技有限公司 | 一种医疗机器人上下位机间通信协议的测试方法及装置 |
WO2023230798A1 (zh) * | 2022-05-30 | 2023-12-07 | 北京小米移动软件有限公司 | 一种跨系统的按键测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112732576B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112732576B (zh) | 基于用户界面的自动化测试方法、装置及设备 | |
US10853232B2 (en) | Adaptive system for mobile device testing | |
US8645912B2 (en) | System and method for use in replaying software application events | |
US20130085720A1 (en) | System and methods for generating and managing a virtual device | |
US20080209405A1 (en) | Distributed debugging for a visual programming language | |
CN110716853A (zh) | 一种测试脚本录制方法、应用程序测试方法和相关装置 | |
US11237948B2 (en) | Rendering engine component abstraction system | |
CN113900958A (zh) | 测试用例脚本的生成方法、系统、介质及电子设备 | |
CN112882930B (zh) | 自动化测试方法、装置、存储介质及电子设备 | |
US20060101406A1 (en) | Object test bench | |
KR20090065144A (ko) | 모바일 응용 소프트웨어의 그래픽 사용자 인터페이스테스트 시스템 및 방법 | |
CN111414309A (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN113836014A (zh) | 一种接口测试方法、装置、电子设备和存储介质 | |
CN111488275B (zh) | Ui自动化测试方法、装置、存储介质及电子设备 | |
CN113760397A (zh) | 接口调用的处理方法、装置、设备及存储介质 | |
KR20150128711A (ko) | 컴퓨터 시스템 활동의 트레이스 타임라인을 분석하기 위한 방법 및 시스템 | |
CN114936358A (zh) | 基于人机交互的校验方法及校验系统 | |
CN111949510B (zh) | 测试处理方法、装置、电子设备及可读存储介质 | |
CN114217927A (zh) | 一种线程调用方法、装置、计算机设备及存储介质 | |
CN112256564A (zh) | 应用程序的运行方法、装置及电子设备 | |
JP2012048329A (ja) | オブジェクト指向プログラム生成装置、その方法、プログラム | |
JPH10301809A (ja) | Gui操作手順の自動生成方法 | |
KR100992622B1 (ko) | 임베디드 플랫폼에서 테스트 자동화 방법 및 시스템 | |
Esipchuk et al. | PTF-based test automation for Java applications on mobile phones | |
CN115982018B (zh) | 一种基于ocr的ui测试方法、系统、计算机设备和存储介质 |
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 |