CN116414685A - 一种基于云真机平台的测试管理方法和装置 - Google Patents

一种基于云真机平台的测试管理方法和装置 Download PDF

Info

Publication number
CN116414685A
CN116414685A CN202210009794.2A CN202210009794A CN116414685A CN 116414685 A CN116414685 A CN 116414685A CN 202210009794 A CN202210009794 A CN 202210009794A CN 116414685 A CN116414685 A CN 116414685A
Authority
CN
China
Prior art keywords
control
page
test
control event
active page
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
CN202210009794.2A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202210009794.2A priority Critical patent/CN116414685A/zh
Publication of CN116414685A publication Critical patent/CN116414685A/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本发明公开了基于云真机平台的测试管理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:响应于监听到云真机平台具体设备的活动页面中的控制事件,识别所述活动页面的控件树;根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码。该实施方式降低了开发测试成本,提高了代码自动化生成和自动化测试的水平及效率。

Description

一种基于云真机平台的测试管理方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于云真机平台的测试管理方法和装置。
背景技术
云真机平台解决了移动开发者面临的移动设备数量不足、资源利用率低的问题。目前,在云真机平台上,对移动设备的测试局限于远程手动调试,无法应对自动化测试场景。尤其在面对测试回归的场景时,因缺少自动化测试解决方案而只能通过人工重复执行,导致效率低下、测试成本高的问题。
发明内容
有鉴于此,本发明实施例提供一种基于云真机平台的测试管理方法和装置,能够监听设备的活动页面中的控制事件,生成控件树,并自动识别各个控制事件对应的页面元素;再根据各个设备活动页面的控制事件、控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码;最后控制待测设备执行所述的自动化测试脚本代码。实现了脚本代码的自动生成和自动测试功能,提高了自动化测试水平和效率,缩短了开发、测试周期,降低了开发、测试成本。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于云真机平台的测试管理方法,包括:
响应于监听到云真机平台具体设备的活动页面中的控制事件,识别所述活动页面的控件树;
根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;
根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码。
可选地,识别所述活动页面的控件树,包括:控制所述具体设备生成页面布局文件,通过解析所述页面布局文件生成所述活动页面的控件树。
可选地,识别所述活动页面的控件树之后,还包括:展示所述控件树。
可选地,根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素,包括:
判断所述控件树各个节点的坐标范围是否包含所述控制事件对应的坐标,从而获取包含所述控制事件对应的坐标的全部节点;
筛选所述全部节点中区域范围最小的节点,通过所述区域范围最小的节点的数据信息获得所述控制事件对应的页面元素。
可选地,根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码,包括:
通过所述自动化测试框架匹配对应代码生成库,根据所述控制事件调用所述代码生成库中相应的API接口方法生成代码,再将所述代码添加至所述自动化测试框架的代码模板中以生成自动化测试脚本代码;其中,所述API接口方法的输入参数为所述控制事件对应的页面元素的标识号或坐标信息中的至少一个。
可选地,生成自动化测试脚本代码之后,还包括:对所述自动化测试脚本代码进行保存、执行或管理中至少一项操作。
可选地,生成自动化测试脚本代码之后,还包括:
响应于设备测试请求,确定待测设备和目标测试框架;将所述自动化测试脚本代码发送至所述目标测试框架以对所述待测设备进行测试,并在所述待测设备上展示执行效果。
根据本发明实施例的第二方面,提供一种基于云真机平台的测试管理装置,包括:
控件识别单元,响应于监听到云真机平台具体设备的活动页面中的控制事件,识别所述活动页面的控件树;
元素获取单元,根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;
代码生成单元,根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码。
可选地,所述控件识别单元识别所述活动页面的控件树,包括:控制所述具体设备生成页面布局文件,通过解析所述页面布局文件生成所述活动页面的控件树。
可选地,所述控件识别单元还用于:识别所述活动页面的控件树之后,展示所述控件树。
可选地,所述元素获取单元根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素,包括:
判断所述控件树各个节点的坐标范围是否包含所述控制事件对应的坐标,从而获取包含所述控制事件对应的坐标的全部节点;
筛选所述全部节点中区域范围最小的节点,通过所述区域范围最小的节点的数据信息获得所述控制事件对应的页面元素。
可选地,所述代码生成单元根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码,包括:
通过所述自动化测试框架匹配对应代码生成库,根据所述控制事件调用所述代码生成库中相应的API接口方法生成代码,再将所述代码添加至所述自动化测试框架的代码模板中以生成自动化测试脚本代码;其中,所述API接口方法的输入参数为所述控制事件对应的页面元素的标识号或坐标信息中的至少一个。
可选地,所述装置还包括用例服务单元,用于:在生成自动化测试脚本代码之后,对所述自动化测试脚本代码进行保存、执行或管理中至少一项操作。
可选地,所述装置还包括用例服务单元,用于:在生成自动化测试脚本代码之后,响应于设备测试请求,确定待测设备和目标测试框架;将所述自动化测试脚本代码发送至所述目标测试框架以对所述待测设备进行测试,并在所述待测设备上展示执行效果。
根据本发明实施例的第三方面,提供一种基于云真机平台的测试管理电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。
根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过在监听到云真机平台具体设备的活动页面中的控制事件后,识别所述活动页面的控件树;能够自动化地控制云真机平台监听设备,并在符合设定条件时识别控件树,提高了自动化水平,为后续的代码自动生成做好准备。通过根据所述控件树和控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;能够自动识别页面元素和其对应的控制事件。通过根据各个设备活动页面的控制事件、控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码;能够提高代码自动生成的效率,并且根据选择的自动化测试框架不同而生成不同类型的代码,提高自动生成的代码的适用范围。通过控制待测设备执行所述的自动化测试脚本代码;能够通过云真机平台实现在不同移动设备上自动化测试的目的。通过控制所述的具体设备生成页面布局文件,通过解析所述页面布局文件生成所述活动页面的控件树;能够自动生成控件树。通过针对任一控制事件,判断控件树各个节点的坐标范围是否包含所述的任一控制事件对应的坐标,从而获取包含所述的任一控制事件对应的坐标的全部节点,筛选所述全部节点中区域范围最小的节点,通过所述区域范围最小的节点的数据信息获得所述的任一控制事件对应的页面元素;能够自动识别控制事件对应的页面元素。通过所选择的自动化测试框架匹配对应代码生成库,控制脚本录制子模块根据具体控制事件调用所述代码生成库中相应的API接口方法生成代码,再将所述代码添加至自动化测试框架的代码模板中以生成自动化测试脚本代码;能够根据选定的自动化测试框架自动生成所需的脚本代码,提高了自动化测试效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的基于云真机平台的测试管理方法的主要流程的示意图;
图2是根据本发明实施例的云真机平台自动化测试结构的示意图;
图3是根据本发明实施例的页面元素解析流程的示意图;
图4是根据本发明实施例的脚本代码生成流程的示意图;
图5是根据本发明实施例的云真机平台自动化测试流程的示意图
图6是根据本发明实施例的基于云真机平台的测试管理装置的主要单元的示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
根据本发明实施例的一个方面,提供了一种基于云真机平台的测试方法。
图1是根据本发明实施例的基于云真机平台的测试方法的主要流程的示意图。如图1所示,根据本发明实施例的基于云真机平台的测试方法,包括:步骤S101-步骤S104。
步骤S101,响应于监听到云真机平台具体设备的活动页面中的控制事件,识别所述活动页面的控件树。
开发人员在完成开发工作后,需要将应用程序安装于不同的移动设备上进行调试、测试等。本发明的基于云真机平台的测试方法自动生成相应的测试脚本代码,并控制多种待测设备自动运行所述测试脚本,从而提高测试的自动化水平和效率。
为解决本发明的至少一个问题,本发明的一个实施例示例性的构造如图2所示的云真机平台自动化测试结构。所述测试结构主要包括网络模块(或称作Web模块)、服务器模块(或称作Server模块)、供应模块(或称作Provider模块)以及各种移动终端设备。网络模块用于页面展示和对待测试的设备画面渲染、操作等,服务器模块主要处理网络模块的页面的请求及相关业务逻辑处理,供应模块主要面向待测设备端,用于连接移动设备、下发操作指令至移动设备、获取设备相关信息等。
其中,服务器模块和供应模块组成了完整的后端服务,服务器模块处理业务逻辑(诸如用户鉴权、设备操作、数据获取等)并发送设备操作请求至供应模块,供应模块主要负责和设备之间进行通信并控制设备操作。
示例性地,服务器模块可通过ZeroMQ发送设备操作请求。其中,ZeroMQ是一个基于消息队列的多线程网络库,其对套接字类型、连接处理、帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。
为了能够操作上述各个模块实现脚本代码的自动生成和后期的脚本代码自动执行,本发明的一个实施例所示的测试方法包括在监听到云真机平台具体设备的活动页面中的控制事件后,识别所述活动页面的控件树。
实际使用中,设备的活动页面上具有多个页面元素(或称作控件),不同的页面元素拥有不同的控制事件,诸如点击、滑动、输入等;一个实施例中,远程测试时,对云真机平台的移动设备上各个页面元素的控制通过网络模块实现,因此需要实时控制网络模块监听设备活动页面,在监听到云真机平台具体设备的活动页面中的控制事件(诸如对某个页面元素的点击、滑动、输入等操作)后,向控件识别子模块发送消息请求。所述的消息请求包括但不限于http请求(即从客户端到服务器端的请求)。本发明的一个实施例中示例性的将安卓界面测试框架(Uiautomator)集成于控件识别模块内。
需要说明的是,前文以及下文提及的各个模块或子模块的名称及其实现的功能是人为定义的,并不构成对本发明的限制。实际使用中可以根据需要调整模块的数量、各个模块所包含的子模块种类、各个模块和子模块所能实现的功能、以及各模块和各子模块之间的组合关系等。
可选地,识别所述活动页面的控件树,包括:控制所述具体设备生成页面布局文件,通过解析所述页面布局文件生成所述活动页面的控件树。
一个实施例中,控件识别子模块集成于所述的服务器模块中,其主要用于对移动设备的页面布局文件进行解析和识别控件树。因此控件识别子模块包括页面元素解析和页面元素定位识别两部分。其中页面元素解析流程如图3所示,包括步骤A:网络模块开启设备活动页面监听,主要监听设备的操作指令,当在云真机平台操作某一具体设备时,网络模块监听到所述设备活动页面的页面元素的控制事件后发送http请求至控件识别子模块,控件识别子模块下发消息至供应模块;其中所述消息包括但不限于ZeroMQ消息。步骤B:供应模块收到相对应的消息后,控制设备且在设备端生成一个页面布局文件并下载至供应模块。示例性地,控制所述设备可以通过安卓调试桥(Android Debug Bridge,简称adb)命令实现,页面布局文件可为xml格式,如图3所示的UI.xml文件。步骤C:控件识别子模块读取设备页面布局文件,并解析所述页面布局文件后生成控件树,诸如UI控件树。本发明的一个实施例中,控件识别子模块可通过标签识别、属性解析、控件元素识别等进行解析,然后生成JSON格式的UI控件树。进一步的,由于页面布局文件为临时文件,对其进行解析、输出控件树后,需将该文件清理,避免临时文件过多。一个实施例中,控件树中单个节点的数据主要包括如下内容:resource-Id,其作为页面元素名称,节点属性包括class、package、坐标信息、树深度等。如图2和3所示的实施例中,服务器模块和供应模块组成完整的后端服务,服务器模块与供应模块进行通信,供应模块主要负责和设备之间通信并控制设备操作。由于控件识别子模块集成在服务器模块中,因此需要将在设备端生成的页面布局文件发送至供应模块,以供控件识别子模块读取该文件。
可选地,识别所述活动页面的控件树之后,还包括:展示所述控件树。
一个实施例中,脚本录制子模块集成于云真机平台的网络模块中,主要提供页面元素定位和自动化测试脚本自动生成等功能。实际使用中,为了实时监测前述步骤的操作是否顺利完成,如页面布局文件生成、页面布局文件解析等是否正常实现,本发明的一实施例选择在识别所述活动页面的控件树之后,展示所述控件树,以便检查各操作步骤是否存在错误。示例性地,可通过渲染所述控件树,并将渲染结果展示在网络模块的页面上,或者前端其它设备的屏幕上。
步骤S102,根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素。
实际使用中,移动开发者对应用程序的调试、测试等主要通过对设备活动页面上各个页面元素(或称作控件)进行操作来实现。因此,为了实现测试脚本代码的自动生成,需要实时监测活动页面的各个控制事件,并获取该控制事件对应的页面元素。本发明的一个实施例根据所述控件树和控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素。
可选地,根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素,包括:判断所述控件树各个节点的坐标范围是否包含所述控制事件对应的坐标,从而获取包含所述控制事件对应的坐标的全部节点;筛选所述全部节点中区域范围最小的节点,通过所述区域范围最小的节点的数据信息获得所述控制事件对应的页面元素。
一个实施例中,通过调用脚本录制子模块获取所述的各个控制事件的坐标,诸如获取设备画面上鼠标事件坐标等;然后针对选定的任一控制事件,遍历UI控件树各个节点,提取各个节点坐标范围,如从节点信息的bounds属性中提取,通过左上角坐标(也可通过节点信息中leftTopX和leftTopY获取节点的左上角坐标的横坐标值和纵坐标值)和右下角坐标(也可通过节点信息中的rightBottomX和rightBottomY获取节点的右下角坐标的横坐标值和纵坐标值),进而判断选定的控制事件对应的坐标是否属于该节点控制范围,并获得符合条件的全部节点的列表,即获取包含选定的控制事件对应的坐标的全部节点。需要说明的是,该实施例设定各个节点坐标范围是一矩形,实际使用中也采用其它形状,并设置相应的形状定义方式。接着,针对所述的节点列表,排序输出区域范围最小的节点以获取对应的页面元素。上述的判断方法的原理示例性的解释如下:假设控件A的区域范围包含控件B的区域范围,即控件A包含控件B,当操作坐标位于控件B上时,那么符合该坐标的控件有控件A和控件B。因此需要通过筛选最小区域范围的控件来定位最小颗粒度的控件B。由于节点信息中包含页面元素的标识号等,因此通过所述区域范围最小的节点的数据信息可获得选定的控制事件对应的页面元素。
步骤S103,根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码。
一个实施例中,脚本执行引擎子模块位于供应模块中,主要用于在指定移动设备上执行自动化测试脚本并生成测试报告。其中,执行引擎子模块通过集成自动化测试框架来实现自动化测试功能,其可支持当前流行的多个框架,每个框架相互独立,可根据使用需要进行选择并执行,具有可扩展性、可配置化,所述的自动化测试框架包括但不限于airtest、appium等。因此,脚本录制子模块需要根据在设备画面操作端进行一系列UI控制操作所选择的自动化测试框架来自动生成代码。进而保证该自动生成的脚本代码在自动测试过程中能够在相应的自动化测试框架上顺利运行。其中,所述的自动化测试框架具有可扩展性和可配置性,可以根据需要适当配置。因此实际使用中,云真机平台会集成一种或多种自动化测试框架,使用中需要选择所需的具体测试框架。并且根据选择的自动化测试框架不同而生成不同类型的代码,提高自动生成的代码的适用范围。实际使用中,针对某一具体设备,其活动页面实时变换,每个活动页面对应的页面元素(或称作控件)数量不等(如具有一个或多个)且具有不同的功能或用途,因此需要根据各个设备活动页面的控制事件、控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码。
可选地,根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码,包括:通过所述自动化测试框架匹配对应代码生成库,根据所述控制事件调用所述代码生成库中相应的API接口方法生成代码,再将所述代码添加至所述自动化测试框架的代码模板中以生成自动化测试脚本代码;其中,所述API接口方法的输入参数为所述控制事件对应的页面元素的标识号或坐标信息中的至少一个。
如图4所示的一个实施例中,首先,基于前文描述的控件识别方法定位具体的控件,并监听前端设备画面的鼠标或键盘输入等事件,然后基于以上两部分数据,解析设备事件获取操作设备的控件的动作(诸如点击、滑动、输入等)及相关动作坐标。根据操作控件所选择的自动化测试框架匹配对应代码生成库,脚本录制子模块根据解析后的设备事件调用对应的代码生成库中相应的API接口方法,并根据相应的语法规则生成代码,并将所述代码添加至所选择的自动化测试框架的代码模板中,最终生成可执行的脚本代码。其中,所述API接口方法的输入参数为所述具体控制事件对应的页面元素的标识号或坐标信息中的至少一个。一个实施例中,所述的坐标信息包括但不限于针对页面元素的滑动操作所对应的坐标信息。实际使用中,不同的自动化测试框架对应的代码生成库和语法规则存在差异,诸如以airtest自动化测试框架为例,代码生成库为Python语言库,集成airtest框架提供的所有API接口及语法规则。因此,在脚本代码中可包含识别对应自动化测试框架的代码,从而使该脚本代码能够自动在对应的自动化测试框架上运行。当使用过程中脚本执行引擎子模块缺少相关的自动化测试框架时,可添加该测试框架,从而提升自动化测试的可扩展性。
可选地,生成自动化测试脚本代码之后,还包括:对所述的自动化测试脚本代码进行保存、执行或管理中至少一项操作。
一个实施例中,用例服务子模块位于云真机平台网络模块中,主要用于提供对自动化测试脚本的存储、执行、管理、测试回归等功能。在脚本代码编写完成后,通过用例服务模块对脚本代码进行保存、执行、管理等操作。
可选地,生成自动化测试脚本代码之后,还包括:响应于设备测试请求,确定待测设备和目标测试框架;将所述自动化测试脚本代码发送至所述目标测试框架以对所述待测设备进行测试,并在所述待测设备上展示执行效果。
为了验证自动生成的脚本代码是否符合使用需求,可对录制完成的脚本执行测试工作。一个实施例中,完成脚本代码自动生成后,即可控制脚本执行引擎子模块接收所述的自动化测试脚本代码,并根据需要指定所要测试的设备,所述的设备可以为一个或多个,或者为相同型号或为不同型号,然后使待测设备执行所述的自动化测试脚本代码。当然,为了后续评估测试结果,可在代码执行中或执行结束后生成执行报告并输出,脚本代码编写测试无误后,可将代码沉淀为自动化测试用例并保存至用例仓库,如图5所示。如图5所示,其展示了本发明的一个实施例所述的云真机平台自动化测试流程示意图。
根据本发明实施例的第二方面,提供一种基于云真机平台的测试管理装置。
图6是根据本发明实施例的基于云真机平台的测试管理装置的主要单元的示意图,如图6所示,本发明实施例的基于云真机平台的测试管理装置600包括:
控件识别单元601,响应于监听到云真机平台具体设备的活动页面中的控制事件,识别所述活动页面的控件树;
元素获取单元602,根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;
代码生成单元603,根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码。
可选地,所述控件识别单元识别所述活动页面的控件树,包括:控制所述具体设备生成页面布局文件,通过解析所述页面布局文件生成所述活动页面的控件树。
可选地,所述控件识别单元还用于:识别所述活动页面的控件树之后,展示所述控件树。
可选地,所述元素获取单元根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素,包括:
判断所述控件树各个节点的坐标范围是否包含所述控制事件对应的坐标,从而获取包含所述控制事件对应的坐标的全部节点;
筛选所述全部节点中区域范围最小的节点,通过所述区域范围最小的节点的数据信息获得所述控制事件对应的页面元素。
可选地,所述代码生成单元根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码,包括:
通过所述自动化测试框架匹配对应代码生成库,根据所述控制事件调用所述代码生成库中相应的API接口方法生成代码,再将所述代码添加至所述自动化测试框架的代码模板中以生成自动化测试脚本代码;其中,所述API接口方法的输入参数为所述控制事件对应的页面元素的标识号或坐标信息中的至少一个。
可选地,所述装置还包括用例服务单元,用于:在生成自动化测试脚本代码之后,对所述自动化测试脚本代码进行保存、执行或管理中至少一项操作。
可选地,所述装置还包括用例服务单元,用于:在生成自动化测试脚本代码之后,响应于设备测试请求,确定待测设备和目标测试框架;将所述自动化测试脚本代码发送至所述目标测试框架以对所述待测设备进行测试,并在所述待测设备上展示执行效果。
图7示出了可以应用本发明实施例的基于云真机平台的测试管理方法或基于云真机平台的测试管理装置的示例性系统架构700。
如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的基于云真机平台的测试方法一般由服务器705执行,相应地,基于云真机平台的测试装置一般设置于服务器705中。
需要说明的是,本发明实施例所提供的基于云真机平台的测试管理方法一般也由移动设备执行,相应地,基于云真机平台的测试管理装置一般设置于移动设备中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括识别单元、获取单元、代码生成单元和测试单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,识别单元还可以被描述为“在监听到云真机平台具体设备的活动页面中的控制事件后,识别所述活动页面的控件树的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:在监听到云真机平台具体设备的活动页面中的控制事件后,识别所述活动页面的控件树;根据所述控件树和控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;根据各个设备活动页面的控制事件、控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码;控制待测设备执行所述的自动化测试脚本代码。
根据本发明实施例的技术方案,通过在监听到云真机平台具体设备的活动页面中的控制事件后,识别所述活动页面的控件树;能够自动化地控制云真机平台监听设备,并在符合设定条件时识别控件树,提高了自动化水平,为后续的代码自动生成做好准备。通过根据所述控件树和控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;能够自动识别页面元素和其对应的控制事件。通过根据各个设备活动页面的控制事件、控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码;能够提高代码自动生成的效率,并且根据选择的自动化测试框架不同而生成不同类型的代码,提高自动生成的代码的适用范围。通过控制待测设备执行所述的自动化测试脚本代码;能够通过云真机平台实现在不同移动设备上自动化测试的目的。通过控制所述的具体设备生成页面布局文件,通过解析所述页面布局文件生成所述活动页面的控件树;能够自动生成控件树。通过针对任一控制事件,判断控件树各个节点的坐标范围是否包含所述的任一控制事件对应的坐标,从而获取包含所述的任一控制事件对应的坐标的全部节点,筛选所述全部节点中区域范围最小的节点,通过所述区域范围最小的节点的数据信息获得所述的任一控制事件对应的页面元素;能够自动识别控制事件对应的页面元素。通过所选择的自动化测试框架匹配对应代码生成库,控制脚本录制子模块根据具体控制事件调用所述代码生成库中相应的API接口方法生成代码,再将所述代码添加至自动化测试框架的代码模板中以生成自动化测试脚本代码;能够根据选定的自动化测试框架自动生成所需的脚本代码,提高了自动化测试效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种基于云真机平台的测试管理方法,其特征在于,包括:
响应于监听到云真机平台具体设备的活动页面中的控制事件,识别所述活动页面的控件树;
根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;
根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码。
2.根据权利要求1所述的测试方法,其特征在于,识别所述活动页面的控件树,包括:
控制所述具体设备生成页面布局文件,通过解析所述页面布局文件生成所述活动页面的控件树。
3.根据权利要求1所述的测试方法,其特征在于,识别所述活动页面的控件树之后,还包括:展示所述控件树。
4.根据权利要求1所述的测试方法,其特征在于,根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素,包括:
判断所述控件树各个节点的坐标范围是否包含所述控制事件对应的坐标,从而获取包含所述控制事件对应的坐标的全部节点;
筛选所述全部节点中区域范围最小的节点,通过所述区域范围最小的节点的数据信息获得所述控制事件对应的页面元素。
5.根据权利要求1所述的测试方法,其特征在于,根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码,包括:
通过所述自动化测试框架匹配对应代码生成库,根据所述控制事件调用所述代码生成库中相应的API接口方法生成代码,再将所述代码添加至所述自动化测试框架的代码模板中以生成自动化测试脚本代码;其中,所述API接口方法的输入参数为所述控制事件对应的页面元素的标识号或坐标信息中的至少一个。
6.根据权利要求1所述的测试方法,其特征在于,生成自动化测试脚本代码之后,还包括:
对所述自动化测试脚本代码进行保存、执行或管理中至少一项操作。
7.根据权利要求1所述的测试方法,其特征在于,生成自动化测试脚本代码之后,还包括:
响应于设备测试请求,确定待测设备和目标测试框架;将所述自动化测试脚本代码发送至所述目标测试框架以对所述待测设备进行测试,并在所述待测设备上展示执行效果。
8.一种基于云真机平台的测试管理装置,其特征在于,包括:
控件识别单元,响应于监听到云真机平台具体设备的活动页面中的控制事件,识别所述活动页面的控件树;
元素获取单元,根据所述控件树和所述控制事件在所述活动页面中的坐标获取所述控制事件对应的页面元素;
代码生成单元,根据所述具体设备的各个活动页面的控制事件、所述控制事件对应的页面元素和所选择的自动化测试框架,生成自动化测试脚本代码。
9.一种基于云真机平台的测试电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202210009794.2A 2022-01-05 2022-01-05 一种基于云真机平台的测试管理方法和装置 Pending CN116414685A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210009794.2A CN116414685A (zh) 2022-01-05 2022-01-05 一种基于云真机平台的测试管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210009794.2A CN116414685A (zh) 2022-01-05 2022-01-05 一种基于云真机平台的测试管理方法和装置

Publications (1)

Publication Number Publication Date
CN116414685A true CN116414685A (zh) 2023-07-11

Family

ID=87055291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210009794.2A Pending CN116414685A (zh) 2022-01-05 2022-01-05 一种基于云真机平台的测试管理方法和装置

Country Status (1)

Country Link
CN (1) CN116414685A (zh)

Similar Documents

Publication Publication Date Title
CN111083225A (zh) 在物联网平台中的数据处理方法、装置及物联网平台
CN111045653B (zh) 系统生成方法、装置、计算机可读介质及电子设备
CN111190892B (zh) 一种数据回填中处理异常数据的方法和装置
CN114205230A (zh) 云原生网元的配置方法、系统、介质及电子设备
CN109814957B (zh) 一种用于ios系统的标签添加方法和装置
CN109218041B (zh) 用于服务器系统的请求处理方法和装置
CN111767229A (zh) 性能测试方法、装置和设备
CN112954056B (zh) 监控数据处理方法、装置、电子设备及存储介质
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
CN110825622A (zh) 软件测试方法、装置、设备和计算机可读介质
CN111488268A (zh) 自动化测试的调度方法和调度装置
CN115248735A (zh) 一种日志数据输出控制方法、装置、设备及存储介质
CN116414685A (zh) 一种基于云真机平台的测试管理方法和装置
CN115185841A (zh) 系统重构测试方法、装置、设备及存储介质
CN110806967A (zh) 一种单元测试方法和装置
CN114816430A (zh) 一种业务代码开发方法、系统及计算机可读存储介质
CN113434382A (zh) 数据库性能监控方法、装置、电子设备及计算机可读介质
CN113495498A (zh) 用于硬件设备的模拟方法、模拟器、设备和介质
CN112579447A (zh) 一种浏览器测试方法和装置
CN113378346A (zh) 模型仿真的方法和装置
CN112131095A (zh) 压力测试方法和装置
CN112783753B (zh) 流数据处理系统的测试方法和装置
CN113268417B (zh) 一种任务执行方法和装置
CN112306324B (zh) 信息处理方法、装置、设备和介质
CN113064810A (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