CN113126983A - 一种自动化测试用脚本程序的编辑系统 - Google Patents

一种自动化测试用脚本程序的编辑系统 Download PDF

Info

Publication number
CN113126983A
CN113126983A CN201911409411.5A CN201911409411A CN113126983A CN 113126983 A CN113126983 A CN 113126983A CN 201911409411 A CN201911409411 A CN 201911409411A CN 113126983 A CN113126983 A CN 113126983A
Authority
CN
China
Prior art keywords
module
program
script
building block
submodule
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.)
Withdrawn
Application number
CN201911409411.5A
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 Anyun Century Technology Co Ltd
Original Assignee
Beijing Anyun Century 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 Anyun Century Technology Co Ltd filed Critical Beijing Anyun Century Technology Co Ltd
Priority to CN201911409411.5A priority Critical patent/CN113126983A/zh
Publication of CN113126983A publication Critical patent/CN113126983A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种自动化测试用脚本程序的编辑系统,包括:积木编辑模块,用于对预定义的积木程序块处理,生成第一图形化程序;语言解释模块,用于将第一图形化程序转换成第一脚本程序;执行模块,用于执行第一脚本程序;应用管理模块,用于获取被测设备的第一实时画面,并在执行模块对第一脚本程序执行后,获取第二实时画面;第一输出模块,用于输出应用显示界面,应用显示界面同步显示第一实时画面,并在执行模块对第一脚本程序执行后,更新显示第二实时画面。通过本申请提供的自动化测试积木编辑系统进行编程,仅需根据预定义的积木程序块之间的逻辑关系,完成积木程序块之间的拼合,测试脚本的编程难度低、编程效率高、编写成本低。

Description

一种自动化测试用脚本程序的编辑系统
技术领域
本发明涉及自动化测试的技术领域,尤其涉及一种自动化测试用脚本程序的编辑系统。
背景技术
软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预设条件应包括正常条件和异常条件。而自动化测试一般是指软件测试的自动化,即创建测试代码来执行测试任务,各种测试任务分别覆盖不同的使用场景,然后使用测试框架来自动运行这些测试任务。
可见,自动化测试的前提在于用复杂的编程语言,例如:Python,来创建测试脚本。此编程方式带来的问题在于,测试脚本的编程难度较大,编程效率低、编写成本高。
发明内容
本申请实施例通过提供一种自动化测试用脚本程序的编辑系统,解决了现有技术中测试脚本的编程难度较大,编程及后续测试效率低、人工成本高的技术问题。
本申请通过本申请的一实施例提供如下技术方案:
一种自动化测试用脚本程序的编辑系统,所述系统与被测设备连接,所述系统包括积木编辑模块、语言解释模块、执行模块、应用管理模块、第一输出模块;所述积木编辑模块,提供有多个预定义的积木程序块,用于在编程模式下,响应于用户对所述预定义的积木程序块的第一操作,对所述预定义的积木程序块进行处理,生成第一图形化程序,所述多个预定义的积木程序块分别由自动化测试领域的不同功能函数封装而成;所述语言解释模块,与所述积木编辑模块连接,用于根据预设转换规则将所述第一图形化程序转换成第一脚本程序;所述执行模块,与所述语言解释模块连接,用于对所述第一脚本程序进行执行,以使所述被测设备从第一实时画面更新为第二实时画面;所述应用管理模块,与所述被测设备连接,用于获取所述被测设备的第一实时画面,并在所述执行模块对所述第一脚本程序执行后,获取所述被测设备的第二实时画面;所述第一输出模块,与所述应用管理模块连接,用于输出应用显示界面,所述应用显示界面同步显示所述应用管理模块获取的所述第一实时画面,并在所述执行模块对所述第一脚本程序执行后,更新显示所述第二实时画面。
在一个实施例中,所述第一操作包括拖拽操作;所述积木编辑模块,具体用于在编程模式下,响应于所述用户对所述预定义的积木程序块的拖拽操作,确定所述用户操作的所述预定义的积木程序块及所述预定义的积木程序块的结构关系;根据所述用户拖拽的所述预定义的积木程序块及所述预定义的积木程序块的结构关系,生成所述第一图形化程序。
在一个实施例中,所述第一操作还包括参数设置操作;所述积木编辑模块,还用于在编程模式下,响应于所述用户对所述预定义的积木程序块的参数设置操作,确定所述用户操作的所述预定义的积木程序块及所述用户对所述预定义的积木程序块设置的第一参数;根据所述第一参数对所述用户操作的所述预定义的积木程序块进行参数填充,生成所述第一图形化程序。
在一个实施例中,所述系统还包括:第二输出模块,所述第二输出模块包括:第一导出子模块和/或第二导出子模块;所述第一导出子模块,与所述语言解释模块连接,用于响应于所述用户的第二操作,将所述第一脚本程序转换成自动化测试用脚本文件后进行保存;所述第二导出子模块,与所述积木编辑木块连接,用于响应于所述用户的第三操作,将所述第一图形化程序转化成xml文件后进行保存。
在一个实施例中,所述积木编辑模块还包括:积木存储子模块;所述积木存储子模块,用于存储所述多个预定义的积木程序块。
在一个实施例中,所述语言解释模块还包括:第一语法规则子模块;所述第一语法规则子模块,用于设定所述预设转换规则,所述预设转换规则包括:所述预定义的积木程序块与其功能函数之间的第一映射规则,以及结构关系与脚本程序之间的第二映射规则,所述结构关系为构成所述第一图形化程序的所述预定义的积木程序块之间的连接关系;所述语言解释模块,与所述第一语法规则子模块连接,用于根据所述第一语法规则子模块设定的所述预设转换规则将所述第一图形化程序转换成所述第一脚本程序。
在一个实施例中,所述应用管理模块具体包括:第一获取子模块;所述第一获取子模块,所述第一获取子模块与所述被测设备连接,用于从所述被测设备中获取所述第一实时画面,并在所述执行模块对所述第一脚本程序执行后,从所述被测设备中获取所述第二实时画面。
在一个实施例中,所述应用管理模块,还包括:第二获取子模块、第一关联子模块;所述第二获取子模块,与所述被测设备连接,用于从所述被测设备中获取所述第一实时画面对应的布局文件,所述布局文件包含所述第一实时画面中各个控件对应的界面元素,所述界面元素用于描述所述控件,所述界面元素包括相对坐标,所述相对坐标用于描述该控件在所述第一实时画面中的相对位置,所述第一实时画面中第一特定控件对应的第一界面元素包括第一相对坐标;所述第一关联子模块,用于设定触发坐标与所述相对坐标之间的第一关联关系,所述触发坐标用于描述所述用户在所述应用显示界面中的触发位置,其中,第一触发坐标用于描述第一触发位置,第一触发坐标与所述第一相对坐标关联。
在一个实施例中,所述应用管理模块,还包括:控件属性子模块,与所述第二获取子模块及所述第一关联子模块连接,用于响应于所述用户在所述应用显示界面的第一触发位置的触发操作,从所述第二获取子模块确定所述第一实时画面中所述第一特定控件的第一界面元素并提供,所述第一界面元素用于描述所述第一特定控件;所述积木编辑模块,与所述控制属性子模块连接,还用于根据所述控件属性子模块提供的所述第一特定控件的第一界面元素,对所述预定义的积木程序块进行参数填充。
在一个实施例中,所述控件属性子模块,具体用于当所述用户在所述应用显示界面上的第一触发位置执行所述触发操作时,获取所述第一触发位置对应的所述第一触发坐标,根据所述第一关联关系将所述第一触发坐标转换成所述第一相对坐标,并根据所述第一相对坐标从所述布局文件中确定与所述第一触发位置对应的所述第一特定控件的所述第一界面元素后进行提供。
在一个实施例中,所述第一输出模块,还用于输出控件属性显示区;所述控件属性显示区,与所述控件属性子模块连接,用于显示所述控件属性子模块提供的所述第一实时画面中所述第一特定控件的所述第一界面元素。
在一个实施例中,所述系统还包括:脚本录制模块;所述脚本录制模块,用于在录制模式下,当所述用户在所述应用显示界面上执行测试操作时,对所述测试操作进行录制,生成第二图形化程序及第二脚本程序。
在一个实施例中,所述脚本录制模块包括:第三获取子模块,与所述第二获取子模块及所述第一关联子模块连接,用于在所述录制模式下,当所述用户在所述应用显示界面上执行所述测试操作时,从所述第二获取子模块及所述第一关联子模块中获取所述测试操作的操作信息;第二语法规则子模块,用于设定所述第二图形化程序与所述操作信息之间的第一生成规则、所述第二脚本程序与所述操作信息之间的第二生成规则;程序生成子模块,与所述第二语法规则子模块连接,用于根据所述第二语法规则子模块提供的所述第一生成规则对所述测试操作的操作信息进行处理,生成所述第二图形化程序,根据所述第二生成规则对所述测试操作的操作信息进行处理,生成所述第二脚本程序。
在一个实施例中,所述操作信息包括:所述测试操作对应的动作信息、与所述动作信息对应的第二触发坐标;当所述动作信息涉及对第二特定控件的操作时,所述操作信息还包括:与所述动作信息对应的第二特定控件的第二界面元素;所述第三获取子模块,具体用于识别所述测试操作对应的所述动作信息及与所述动作信息对应的第二触发坐标;根据所述第一关联子模块设定的所述第一关联关系,将所述第二触发坐标转换成第二相对坐标;并在所述动作信息涉及对所述第二特定控件的操作时,根据所述第二相对坐标从所述第二获取子模块提供的所述布局文件中确定所述第二特定控件的所述第二界面元素。
在一个实施例中,所述第一生成规则包括:第三生成规则、第四生成规则,所述第三生成规则用于设定所述第二图形化程序、所述动作信息及所述第二相对坐标之间的生成规则,所述第四生成规则用于设定所述第二图形化程序、所述动作信息及所述第二界面元素之间的生成规则;所述第二生成规则包括:第五生成规则、第六生成规则,所述第五生成规则用于设定所述第二脚本程序、所述动作信息及所述第二相对坐标之间的生成规则,所述第六生成规则用于设定所述第二脚本程序、所述动作信息及所述第二界面元素之间的生成规则;当所述动作信息不涉及对所述第二特定控件的操作时,所述程序生成子模块,用于根据所述第三生成规则生成所述第二图形化程序,根据所述第五生成规则生成所述第二脚本程序;当所述动作信息涉及对所述第二特定控件的操作时,所述程序生成子模块,用于根据所述第四生成规则生成所述第二图形化程序,根据所述第六生成规则生成所述第二脚本程序。
在一个实施例中,所述第一输出模块,与所述脚本录制模块连接,还用于输出编程窗口区;所述编程窗口区,用于所述编程模式下,显示所述第一图形化程序,还用于所述录制模式下,显示所述脚本录制模块生成的所述第二图形化程序。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请提供的自动化测试积木编辑系统,将自动化测试领域的功能函数封装成预定义的积木程序块,用户通过对预定义的积木程序块进行第一操作,便能够通过积木编辑模块根据用户的第一操作完成预设任务的第一图形化程序的编写,相较于现有技术中自动化测试的前提在于用复杂的编程语言来创建测试脚本。通过本申请提供的自动化测试积木编辑系统进行编程的方式,仅需根据预定义的积木程序块之间的逻辑关系,完成积木程序块之间的拼合,测试脚本的编程难度低、编程效率高、编写成本低。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请较佳实施例提供的一种自动化测试用脚本程序的编辑系统的架构图;
图2为用户交互界面图。
具体实施方式
本申请实施例通过提供一种自动化测试用脚本程序的编辑系统,解决了现有技术中测试脚本的编程难度较大,编程及后续测试效率低、人工成本高的技术问题。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
一种自动化测试用脚本程序的编程编辑系统,所述系统与被测设备连接,所述系统包括应用管理模块、积木编辑模块、语言解释模块、执行模块;所述积木编辑模块,提供有多个预定义的积木程序块,用于在编程模式下,响应于用户对所述预定义的积木程序块的第一操作,对所述预定义的积木程序块进行处理,生成第一图形化程序,所述多个预定义的积木程序块分别由自动化测试领域的不同功能函数封装而成;所述语言解释模块,与所述积木编辑模块连接,用于根据预设转换规则将所述第一图形化程序转换成第一脚本程序;所述执行模块,与所述语言解释模块连接,用于对所述第一脚本程序进行执行,以使所述被测设备从第一实时画面更新为第二实时画面;所述应用管理模块,与所述被测设备连接,用于获取所述被测设备的第一实时画面,并在所述执行模块对所述第一脚本程序执行后,获取所述被测设备的第二实时画面;所述第一输出模块,与所述应用管理模块连接,用于输出应用显示界面,所述应用显示界面同步显示所述应用管理模块获取的所述第一实时画面,并在所述执行模块对所述第一脚本程序执行后,更新显示所述第二实时画面。
通过本申请提供的自动化测试积木编辑系统进行编程的方式,仅需根据预定义的积木程序块之间的逻辑关系,完成积木程序块之间的拼合,测试脚本的编程难度低、编程效率高、编写成本低。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
如图1所示,本实施例提供了一种自动化测试用脚本程序的编辑系统,所述系统与被测设备6连接,系统包括应用管理模块4、积木编辑模块1、语言解释模块2、执行模块3、第一输出模块5;
需要说明的是,自动化测试用脚本程序为以程序的方式模拟使用者对被测设备6运行系统或应用程序的操作,进而评估被测设备6相关应用的运行结果。本系统用于自动化测试用脚本程序的编辑。因此,如图2所示,该系统还提供一用户交互界面,用户通过该用户交互界面与本系统进行交互,进而完成自动化测试用脚本程序的编辑。具体的,该用户交互界面由第一输出模块5输出,该用户交互界面可以包括:(1)菜单栏51:保存项目控件511、导出脚本控件512、生成代码控件513、快速执行控件514等;(2)编程界面52:积木程序块显示栏521、编程窗口区523;(3)应用管理界面53:应用显示界面531、控件属性显示区532、录制模式控件533、连接设备管理控件534、刷新控件535等。用户交互界面还可以根据需要,添加更多元素。
为了完成编程,需要做以下配置:
系统所在的主机通过USB或WIFI,并使用ADB(安卓调试桥,Android DebugBridge)调试模式连接被测设备6,被测设备6为手机、平板等。当连接好后,用户打开用户交互界面所在的客户端,并启动设备连接器(本系统所在主机的windows本地服务程序),点击连接设备管理控件534,进行被测设备6的选择和连接。
完成被测设备6的连接后,设备连接器会通过ADB向安装设备安装相关服务组件,包括minicap(负责被测设备6的实时画面的采集),自动化测试服务应用(负责发送系统执行的命令和执行脚本程序)。
所述系统具体包括:
积木编辑模块1,提供有多个预定义的积木程序块13,用于在编程模式下,响应于用户对预定义的积木程序块13的第一操作,对预定义的积木程序块13进行处理,生成第一图形化程序,多个预定义的积木程序块13分别由自动化测试领域的不同功能函数封装而成;
具体的,第一操作包括拖拽操作;在编程模式下,用户从积木程序块显示栏521中选中预定义的积木程序块13并拖动到编程窗口区523后,并在编程窗口区523内进行拼接,以执行拖拽操作时,积木编辑模块1,具体用于响应于用户在编程界面52的拖拽操作,确定用户操作的预定义的积木程序块13及预定义的积木程序块13的结构关系,结构关系为构成所述第一图形化程序的所述预定义的积木程序块之间的连接关系;根据用户拖拽的预定义的积木程序块13及预定义的积木程序块13的结构关系,基于预设规则对预定义的积木程序块13进行拼合、堆砌、嵌套,生成第一图形化程序并显示在编程窗口区523。
具体的,第一操作还可以包括参数设置操作;在编程模式下,用户对编程窗口区523内的预定义的积木程序块13进行参数设置,以执行参数设置操作时,积木编辑模块1,具体用于响应于用户的参数设置操作,确定用户操作的预定义的积木程序块13及用户对预定义的积木程序块13设置的第一参数;根据用户拖拽的预定义的积木程序块13及第一参数,基于预设规则对预定义的积木程序块13进行参数填充后,生成第一图形化程序并显示在编程窗口区523。
需要说明的是,积木编辑模块1还提供有各预定义的积木程序块13之间能否进行拼合、嵌套的语法规则,用于在编程模式下,对待拼合的预定义的积木程序块13进行语法提示。具体的,用户在编程窗口区523对预定义的积木程序块13进行编辑时,可以通过预定义的积木程序块13各侧的箭头(左侧箭头和上下箭头等形状提示),看出各预定义的积木程序块13是否能够进行拼合或嵌套,能够拼合或嵌套的块拼接靠近时会自动粘在一起,不能拼合或嵌套的块拼接时会弹开。
如图2所示,该用户交互界面的积木程序块显示栏521提供了典型的预定义的积木程序块13对应的名称,预定义的积木程序块13可以包括:UI定位131(用于指示目标控件的界面元素)、点击动作132(用于模拟用户对被测设备6的点击操作)、滑动和拖动133(用于模拟用户对被测设备6的滑动操作或拖动操作)、设备等待134(用于模拟被测设备6的等待状态)、元素判断135(用于判断是否存在某个界面元素,通常与UI定位131结合使用)、逻辑136(提供基础逻辑if-else、与或非)等,用户可以根据测试需要对自动化测试领域的功能函数封装后,进行添加。
语言解释模块2,与积木编辑模块1连接,用于根据预设转换规则将第一图形化程序转换成第一脚本程序;
具体的,在编程模式下,用户点击生成代码控件513后,语言解释模块2执行将第一图形化程序转换成第一脚本程序的过程,实际实施过程中,第一脚本程序为python程序。预设转换规则包括:预定义的积木程序块13与其功能函数之间的第一映射规则,以及预定义的积木程序块13之间的结构关系与脚本程序之间的第二映射规则,结构关系为构成第一图形化程序的预定义的积木程序块之间的连接关系,结构关系包括:拼合关系、堆砌关系、和/或、嵌套关系。
执行模块3,与语言解释模块2连接,用于对第一脚本程序进行执行,以使被测设备6从第一实时画面更新为第二实时画面;
具体的,编程模式下,用户点击快速执行控件514后,执行模块3对第一脚本程序进行执行。实际实施过程中,执行模块3利用设备连接器通过ADB将第一脚本程序发送给被测设备6上的自动化测试服务,此自动化测试服务将python程序转换为java程序后,发送给uiautomator测试服务执行。执行后被测设备6表现为自动执行了第一脚本程序对应的相关操作(如点击等)。
应用管理模块4,与被测设备6连接,用于获取被测设备6的第一实时画面,并在执行模块对第一脚本程序执行后,获取被测设备6的第二实时画面;
第一输出模块5,与应用管理模块4连接,用于输出应用显示界面531,应用显示界面531同步显示应用管理模块4获取的第一实时画面,并在执行模块3对第一脚本程序执行后,更新显示第二实时画面。
具体的,当完成被测设备6的连接后,应用管理模块4会通过安装在被测设备6的minicap抓取被测设备6的第一实时画面并传回给设备连接器,并传送给第一输出模块5,第一输出模块5通过应用显示界面531对第一实时画面进行显示。在执行模块3对第一脚本程序执行后,被测设备6的界面从第一实时画面更新为第二实时画面,应用管理模块4自动或通过用户点击刷新控件535后,通过minicap抓取被测设备6的第二实时画面并传回给设备连接器,并传送给第一输出模块5,第一输出模块5通过应用显示界面531同步被测设备6的第二实时画面。
本实施例提供的编辑系统,用户可以以离线或在线的方式在Windows、Linux、MC和Android平台上的浏览器端进行编程操作,使用网页作为客户端,减少软件更新迭代成本。
作为一种可选的实施例,系统还包括:第二输出模块7,第二输出模块7包括:第一导出子模块71和/或第二导出子模块72;
第一导出子模块71,与语言解释模块2连接,用于响应于用户的第二操作,将第一脚本程序转换成自动化测试用脚本文件后进行保存。
第二导出子模块72,与积木编辑木块连接,用于响应于用户的第三操作,将第一图形化程序转化成xml文件后进行保存。
具体的,用户在点击了导出脚本控件512后,通过第一导出子模块71将第一脚本程序导成自动化测试用脚本文件,并通过用户输入文件名后进行保存。用户在点击了保存项目控件511后,通过第二导出子模块72将第一图形化程序导成xml文件,并通过用户输入文件名后进行保存。
作为一种可选的实施例,积木编辑模块1包括:积木存储子模块14;
积木存储子模块14,用于存储多个预定义的积木程序块13。
积木程序块显示栏521,用于显示多个预定义的积木程序块13。需要说明的是,在积木程序块显示栏521显示的预定义的积木程序块13为预定义的积木程序块13对应的名称,当用户选中积木程序块显示栏521显示的预定义的积木程序块13的名称时,即选中对应的预定义的积木程序块13。
作为一种可选的实施例,语法解释模块还包括:第一语法规则子模块21;
第一语法规则子模块21,用于设定预设转换规则,预设转换规则包括:预定义的积木程序块13与其功能函数之间的第一映射规则,以及结构关系与脚本程序之间的第二映射规则,结构关系为构成第一图形化程序的预定义的积木程序块之间的连接关系,结构关系包括:拼合关系、堆砌关系、和/或嵌套关系。
第一图形化程序由一条或一条以上的指令构成,如图2所示,实例性地给出了一小段图形化程序,该程序的测试任务:(1)等待1000ms;(2)执行点击“拍照”的控件;(3)如果弹出来的画面上存在界面元素“始终允许”,执行点击“始终允许”这个控件的操作。图中示出的图形化程序由3条指令构成,分别为:第一指令71、第二指令72、第三指令73。
第一指令71由预定义的积木程序块“等待1000毫秒”134a(对应的名称为设备等待134)构成,第二指令72由预定义的积木程序块“点击界面元素”132a(对应的名称为点击操作132)及“界面元素TEXT等于拍照”131a(对应的名称为UI定位131)构成,第三指令73由预定义的积木程序块“如果执行”136a(对应的名称为逻辑136)、第一子指令731、第二子指令732构成,第一子指令731由“存在界面元素”135a(对应的名称为元素判断135)、“界面元素TEXT等于始终允许”131a(对应的名称为UI定位131)构成,第二子指令732由“点击界面元素”132a(对应的名称为点击操作132)及“界面元素TEXT等于始终允许”131a(对应的名称为UI定位131)构成。
拼合关系:为构成一条指令,预定义的积木程序块13之间配合使用时的左右连接关系,第二指令72的预定义的积木程序块“点击界面元素132a”与“界面元素TEXT等于拍照131a”之间的结构关系即为拼合关系。
堆砌关系:构成图形化程序的多条指令之间的前后顺序关系。例如:第一指令71和第二指令72之间为堆砌关系。
嵌套关系:一条指令中又包含其他子指令时预定义的积木程序块13之间的结构关系。通常预定义的积木程序块“逻辑”136在使用时与其他预定义的积木程序块13之间的结构关系为嵌套关系。如图2所示,图中第三指令73中,又包含第一子指令731、第二子指令732,预定义的积木程序块“如果执行136a”与第一子指令731的“存在界面元素135a”、第二子指令732的“点击界面元素132a”之间为嵌套关系。
语言解释模块2,与第一语法规则子模块21连接,用于根据第一语法规则子模块21设定的预设转换规则将第一图形化程序转换成脚本程序。
作为一种可选的实施例,应用管理模块4具体包括:第一获取子模块41;
第一获取子模块41,第一获取子模块41与被测设备6连接,用于从被测设备6中获取第一实时画面,并在行模块对脚本程序执行后,从被测设备6中获取第二实时画面;
具体的,第一获取子模块41包括minicap,当完成被测设备6的连接后,应用管理模块4通过minicap抓取被测设备6的第一实时画面;在执行模块3对第一脚本程序执行后,通过minicap抓取被测设备6的第二实时画面。本实施例通过minicap获取被测设备6的实时画面的方式,大幅提高与被测设备6实时画面同步的速度,提高脚本程序的生成速度。
作为一种可选的实施例,应用管理模块4,还包括:第二获取子模块42、第一关联子模块43;
第二获取子模块42,与被测设备6连接,用于从被测设备6中获取第一实时画面对应的布局文件,布局文件包含第一实时画面中各个控件对应的界面元素,界面元素用于描述控件,界面元素包括相对坐标,相对坐标用于描述该控件在第一实时画面中的相对位置,第一实时画面中第一特定控件对应的第一界面元素包括第一相对坐标;
具体的,第二获取子模块42包括ADB,当完成被测设备6的连接后,应用管理模块4通过ADB从被测设备6中抓取第一实时画面的布局文件,此文件为xml的文件,包含第一实时画面各个控件的界面元素,布局文件中每个界面元素包含相对坐标、控件的描述信息和控件的长宽高等。需要说明的是,在执行模块3对第一脚本程序执行后,通过ADB从被测设备6中抓取第二实时画面的布局文件。
第一关联子模块43,用于设定触发坐标与相对坐标之间的第一关联关系,触发坐标用于描述用户在应用显示界面531中的触发位置,其中,第一触发坐标用于描述第一触发位置,第一触发坐标与第一相对坐标关联。
作为在一种可选的实施例,应用管理模块4,还包括:
控件属性子模块44,与第二获取子模块42连接,用于响应于用户在应用显示界面531的第一触发位置的触发操作,从第二获取子模块42确定第一实时画面中第一特定控件的第一界面元素并提供,第一界面元素用于描述第一特定控件;
积木编辑模块1,与控件属性子模块44连接,还用于根据控件属性子模块44提供的第一特定控件的第一界面元素,对预定义的积木程序块13进行参数填充。
需要说明的是,编程模式下,用户对预定义的积木程序块13进行参数设置的方式可以为:点击应用显示界面531的第一触发位置,以选中第一实时画面中的第一特定控件,并拖动到需要进行参数设置的预定义的积木程序块13处后放开,完成参数的自动设置。如图2所示,当用户需要对第二指令72的预定义的积木程序块“界面元素()()()”进行参数设置时,用户选中应用显示界面531的控件“拍照”,并拖动到编辑窗口区第二指令72的预定义的积木程序块“界面元素()()()”所在发的位置放开,即完成第二指令72的预定义的积木程序块“界面元素(TEXT)(等于)(拍照)”参数的设置。需要说明的是,此例和后文的“()”表示图2中的框形。
要完成此种参数设置的方式,控件属性子模块44需要响应于用户对应用显示界面531的第一触发位置的触发操作(即用户点击应用显示界面531的第一触发位置,以选中第一实时画面中的第一特定控件,并拖动到需要进行参数设置的预定义的积木程序块13处后放开),获取第一特定控件的第一界面元素后向积木编辑模块1输出,积木编辑模块1根据控件属性子模块44输出的第一界面元素对预定义的积木程序块13进行参数填充。
作为在一种可选的实施例,控件属性子模块44,具体用于当用户在应用显示界面531上的第一触发位置执行触发操作时,获取第一触发位置对应的第一触发坐标,根据第一关联关系将第一触发坐标转换成第一相对坐标,并根据第一相对坐标从布局文件中确定与第一触发位置对应的第一特定控件的第一界面元素后进行提供。
作为在一种可选的实施例,应用管理模块4,还用于输出控件属性显示区532;
控件属性显示区532,与控件属性子模块44连接,用于显示控件属性子模块44提供的第一实时画面中第一特定控件的第一界面元素。
编程模式下,用户对预定义的积木程序块13进行参数设置的方式还可以为:根据控件属性显示区532显示的第一特定控件的第一界面元素,手动对需要进行参数设置的预定义的积木程序块13进行输入。
本实施例中,控件属性显示区532显示的第一特定控件的第一界面元素由控件属性子模块44获取第一特定控件的第一界面元素后向控件属性显示区532输出,控件属性子模块44,用于响应于用户对应用显示界面531的第一触发位置的触发操作(即用户点击应用显示界面531的第一触发位置),获取第一特定控件的第一界面元素后向控件属性显示区532输出,控件属性显示区532根据控件属性子模块44输出的第一界面元素进行显示。
如图2所示,当用户需要对第二指令72的预定义的积木程序块“界面元素()()()”进行参数设置时,用户点击应用显示界面531的控件“拍照”,控件属性显示区532即显示控件“拍照”的界面元素:TEXT:拍照,用户根据控件属性显示区532显示的内容,手动对第二指令72的预定义的积木程序块“界面元素()()()”进行参数输入,完成参数设置。
作为在一种可选的实施例,系统还包括:脚本录制模块8;
脚本录制模块8,用于在录制模式下,当用户在应用显示界面531上执行测试操作时,对测试操作进行录制,生成第二图形化程序及第二脚本程序。
本实施例通过在自动化测试用脚本程序的编辑系统中加入脚本录制模块8,便于通过录制的方式进行自动化测试用脚本程序的编写,相比于现有技术中用复杂的编程语言来创建测试脚本,进一步降低了测试脚本的编程难度,进而提高了编程效率、降低了编写成本。
需要说明的是,本实施例的脚本录制模块8生成的第二脚本程序直接通过设备连接器利用ADB发送给被测设备6上的自动化测试服务执行,比如:用户在应用显示界面531上点击了“设置应用”,那么手机上会同时执行此点击设置应用的操作,正常的执行结果便是“设置应用”的下一级菜单弹出来。
作为在一种可选的实施例,脚本录制模块8包括:
第三获取子模块81,与第二获取子模块42及第一关联子模块43连接,用于在录制模式下,当用户在应用显示界面531上执行测试操作时,获取测试操作的操作信息;
第二语法规则子模块82,用于设定第二图形化程序与操作信息之间的第一生成规则、第二脚本程序与操作信息之间的第二生成规则;
程序生成子模块83,用于根据第一生成规则对测试操作的操作信息进行处理,生成第二图形化程序,根据第二生成规则对测试操作的操作信息进行处理,生成第二脚本程序。
作为在一种可选的实施例,操作信息包括:测试操作对应的动作信息、与动作信息对应的第二相对坐标;当动作信息涉及对第二特定控件的操作时,操作信息还包括:与动作信息对应的第二特定控件的第二界面元素。
第三获取子模块81,具体用于识别测试操作对应的动作信息及与动作信息对应的第二触发坐标;根据第一关联子模块43设定的第一关联关系,将第二触发坐标转换成第二相对坐标;并在动作信息涉及对第二特定控件的操作时,根据第二相对坐标从第二获取子模块42提供的布局文件中确定第二特定控件的第二界面元素。
具体的,动作信息包括:滑动操作、点击操作、双击操作、拖动操作。其中,滑动操作和双击操作不涉及对第二特定控件的操作,点击操作和拖动操作涉及对第二特定控件的操作。滑动操作对应的第二触发坐标包括:滑动操作的起点和终点的触发坐标;点击操作对应的第二触发坐标包括:点击点的触发坐标;双击操作对应的第二触发坐标包括:双击点的触发坐标;拖动操作对应的第二触发坐标包括:拖动操作的起点和终点的触发坐标。
作为在一种可选的实施例,第一生成规则包括:第三生成规则、第四生成规则,第三生成规则用于设定第二图形化程序、动作信息及第二相对坐标之间的生成规则,第四生成规则用于设定第二图形化程序、动作信息及第二界面元素之间的生成规则;
第二生成规则包括:第五生成规则、第六生成规则,第五生成规则用于设定第二脚本程序、动作信息及第二相对坐标之间的生成规则,第六生成规则用于设定第二脚本程序、动作信息及第二界面元素之间的生成规则;
当动作信息不涉及对第二特定控件的操作时,程序生成子模块83,用于根据第三生成规则生成第二图形化程序,根据第五生成规则生成第二脚本程序;
当动作信息涉及对第二特定控件的操作时,程序生成子模块83,用于根据第四生成规则生成第二图形化程序,根据第六生成规则生成第二脚本程序。
作为在一种可选的实施例,第一输出模块5与脚本录制模块8连接,还用于输出编程窗口区523;
编程窗口区523,用于编程模式下,显示第一图形化程序,还用于录制模式下,显示脚本录制模块8生成的第二图形化程序。
需要说明的是,脚本录制模块8生成的第二图形化程序显示在编程窗口区523,便于用户对第二图形化程序进一步进行手动调整和编辑,这种采用可视化编程+录制混合编程方式,进一步降低了测试脚本的编程难度,进而提高了编程效率、降低了编写成本。
进一步地,显示在编程窗口区523的脚本录制模块8生成的第二图形化程序,进入编程模式下,用户可对其进行可视化编程。自动化测试用脚本程序的编辑系统响应于用户对其的操作的原理和第一图形化程序相同,此处不再赘述。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
本申请提供的自动化测试积木编辑系统,将自动化测试领域的功能函数封装成预定义的积木程序块,用户通过对预定义的积木程序块进行第一操作,便能够通过积木编辑模块根据用户的第一操作完成预设任务的第一图形化程序的编写,相较于现有技术中自动化测试的前提在于用复杂的编程语言来创建测试脚本。通过本申请提供的自动化测试积木编辑系统进行编程的方式,仅需根据预定义的积木程序块之间的逻辑关系,完成积木程序块之间的拼合,测试脚本的编程难度低、编程效率高、编写成本低。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的语音指令的获得装置、电子设备、计算机存储介质中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了,A1,一种自动化测试用脚本程序的编辑系统,所述系统与被测设备连接,其特征在于,所述系统包括积木编辑模块、语言解释模块、执行模块、应用管理模块、第一输出模块;
所述积木编辑模块,提供有多个预定义的积木程序块,用于在编程模式下,响应于用户对所述预定义的积木程序块的第一操作,对所述预定义的积木程序块进行处理,生成第一图形化程序,所述多个预定义的积木程序块分别由自动化测试领域的不同功能函数封装而成;
所述语言解释模块,与所述积木编辑模块连接,用于根据预设转换规则将所述第一图形化程序转换成第一脚本程序;
所述执行模块,与所述语言解释模块连接,用于对所述第一脚本程序进行执行,以使所述被测设备从第一实时画面更新为第二实时画面;
所述应用管理模块,与所述被测设备连接,用于获取所述被测设备的第一实时画面,并在所述执行模块对所述第一脚本程序执行后,获取所述被测设备的第二实时画面;
所述第一输出模块,与所述应用管理模块连接,用于输出应用显示界面,所述应用显示界面同步显示所述应用管理模块获取的所述第一实时画面,并在所述执行模块对所述第一脚本程序执行后,更新显示所述第二实时画面。
A2,如A1所述的自动化测试用脚本程序的编辑系统,其特征在于,所述第一操作包括拖拽操作;
所述积木编辑模块,具体用于在编程模式下,响应于所述用户对所述预定义的积木程序块的拖拽操作,确定所述用户操作的所述预定义的积木程序块及所述预定义的积木程序块的结构关系;根据所述用户拖拽的所述预定义的积木程序块及所述预定义的积木程序块的结构关系,生成所述第一图形化程序。
A3,如A2所述的自动化测试用脚本程序的编辑系统,其特征在于,所述第一操作还包括参数设置操作;
所述积木编辑模块,还用于在编程模式下,响应于所述用户对所述预定义的积木程序块的参数设置操作,确定所述用户操作的所述预定义的积木程序块及所述用户对所述预定义的积木程序块设置的第一参数;根据所述第一参数对所述用户操作的所述预定义的积木程序块进行参数填充,生成所述第一图形化程序。
A4,如A1所述的自动化测试用脚本程序的编辑系统,其特征在于,所述系统还包括:第二输出模块,所述第二输出模块包括:第一导出子模块和/或第二导出子模块;
所述第一导出子模块,与所述语言解释模块连接,用于响应于所述用户的第二操作,将所述第一脚本程序转换成自动化测试用脚本文件后进行保存;
所述第二导出子模块,与所述积木编辑木块连接,用于响应于所述用户的第三操作,将所述第一图形化程序转化成xml文件后进行保存。
A5,如A1所述的自动化测试用脚本程序的编辑系统,其特征在于,所述积木编辑模块还包括:积木存储子模块;
所述积木存储子模块,用于存储所述多个预定义的积木程序块。
A6,如A1所述的自动化测试用脚本程序的编辑系统,其特征在于,所述语言解释模块还包括:第一语法规则子模块;
所述第一语法规则子模块,用于设定所述预设转换规则,所述预设转换规则包括:所述预定义的积木程序块与其功能函数之间的第一映射规则,以及结构关系与脚本程序之间的第二映射规则,所述结构关系为构成所述第一图形化程序的所述预定义的积木程序块之间的连接关系;
所述语言解释模块,与所述第一语法规则子模块连接,用于根据所述第一语法规则子模块设定的所述预设转换规则将所述第一图形化程序转换成所述第一脚本程序。
A7,如A1所述的自动化测试用脚本程序的编辑系统,其特征在于,所述应用管理模块具体包括:第一获取子模块;
所述第一获取子模块,所述第一获取子模块与所述被测设备连接,用于从所述被测设备中获取所述第一实时画面,并在所述执行模块对所述第一脚本程序执行后,从所述被测设备中获取所述第二实时画面。
A8,如A7所述的自动化测试用脚本程序的编辑系统,,其特征在于,所述应用管理模块,还包括:第二获取子模块、第一关联子模块;
所述第二获取子模块,与所述被测设备连接,用于从所述被测设备中获取所述第一实时画面对应的布局文件,所述布局文件包含所述第一实时画面中各个控件对应的界面元素,所述界面元素用于描述所述控件,所述界面元素包括相对坐标,所述相对坐标用于描述该控件在所述第一实时画面中的相对位置,所述第一实时画面中第一特定控件对应的第一界面元素包括第一相对坐标;
所述第一关联子模块,用于设定触发坐标与所述相对坐标之间的第一关联关系,所述触发坐标用于描述所述用户在所述应用显示界面中的触发位置,其中,第一触发坐标用于描述第一触发位置,第一触发坐标与所述第一相对坐标关联。
A9、如A8所述的自动化测试用脚本程序的编辑系统,其特征在于,所述应用管理模块,还包括:
控件属性子模块,与所述第二获取子模块及所述第一关联子模块连接,用于响应于所述用户在所述应用显示界面的第一触发位置的触发操作,从所述第二获取子模块确定所述第一实时画面中所述第一特定控件的第一界面元素并提供,所述第一界面元素用于描述所述第一特定控件;
所述积木编辑模块,与所述控制属性子模块连接,还用于根据所述控件属性子模块提供的所述第一特定控件的第一界面元素,对所述预定义的积木程序块进行参数填充。
A10、如A9所述的自动化测试用脚本程序的编辑系统,其特征在于,所述控件属性子模块,具体用于当所述用户在所述应用显示界面上的第一触发位置执行所述触发操作时,获取所述第一触发位置对应的所述第一触发坐标,根据所述第一关联关系将所述第一触发坐标转换成所述第一相对坐标,并根据所述第一相对坐标从所述布局文件中确定与所述第一触发位置对应的所述第一特定控件的所述第一界面元素后进行提供。
A11、如A9所述的自动化测试用脚本程序的编辑系统,其特征在于,所述第一输出模块,还用于输出控件属性显示区;
所述控件属性显示区,与所述控件属性子模块连接,用于显示所述控件属性子模块提供的所述第一实时画面中所述第一特定控件的所述第一界面元素。
A12、如A8所述的自动化测试用脚本程序的编辑系统,其特征在于,所述系统还包括:脚本录制模块;
所述脚本录制模块,用于在录制模式下,当所述用户在所述应用显示界面上执行测试操作时,对所述测试操作进行录制,生成第二图形化程序及第二脚本程序。
A13、如A12所述的自动化测试用脚本程序的编辑系统,其特征在于,所述脚本录制模块包括:
第三获取子模块,与所述第二获取子模块及所述第一关联子模块连接,用于在所述录制模式下,当所述用户在所述应用显示界面上执行所述测试操作时,从所述第二获取子模块及所述第一关联子模块中获取所述测试操作的操作信息;
第二语法规则子模块,用于设定所述第二图形化程序与所述操作信息之间的第一生成规则、所述第二脚本程序与所述操作信息之间的第二生成规则;
程序生成子模块,与所述第二语法规则子模块连接,用于根据所述第二语法规则子模块提供的所述第一生成规则对所述测试操作的操作信息进行处理,生成所述第二图形化程序,根据所述第二生成规则对所述测试操作的操作信息进行处理,生成所述第二脚本程序。
A14、如A13所述的自动化测试用脚本程序的编辑系统,其特征在于,所述操作信息包括:所述测试操作对应的动作信息、与所述动作信息对应的第二触发坐标;当所述动作信息涉及对第二特定控件的操作时,所述操作信息还包括:与所述动作信息对应的第二特定控件的第二界面元素;
所述第三获取子模块,具体用于识别所述测试操作对应的所述动作信息及与所述动作信息对应的第二触发坐标;根据所述第一关联子模块设定的所述第一关联关系,将所述第二触发坐标转换成第二相对坐标;并在所述动作信息涉及对所述第二特定控件的操作时,根据所述第二相对坐标从所述第二获取子模块提供的所述布局文件中确定所述第二特定控件的所述第二界面元素。
A15、如A14所述的自动化测试用脚本程序的编辑系统,其特征在于,所述第一生成规则包括:第三生成规则、第四生成规则,所述第三生成规则用于设定所述第二图形化程序、所述动作信息及所述第二相对坐标之间的生成规则,所述第四生成规则用于设定所述第二图形化程序、所述动作信息及所述第二界面元素之间的生成规则;
所述第二生成规则包括:第五生成规则、第六生成规则,所述第五生成规则用于设定所述第二脚本程序、所述动作信息及所述第二相对坐标之间的生成规则,所述第六生成规则用于设定所述第二脚本程序、所述动作信息及所述第二界面元素之间的生成规则;
当所述动作信息不涉及对所述第二特定控件的操作时,所述程序生成子模块,用于根据所述第三生成规则生成所述第二图形化程序,根据所述第五生成规则生成所述第二脚本程序;
当所述动作信息涉及对所述第二特定控件的操作时,所述程序生成子模块,用于根据所述第四生成规则生成所述第二图形化程序,根据所述第六生成规则生成所述第二脚本程序。
A16、如A12所述的自动化测试用脚本程序的编辑系统,其特征在于,所述第一输出模块,与所述脚本录制模块连接,还用于输出编程窗口区;
所述编程窗口区,用于所述编程模式下,显示所述第一图形化程序,还用于所述录制模式下,显示所述脚本录制模块生成的所述第二图形化程序。

Claims (10)

1.一种自动化测试用脚本程序的编辑系统,所述系统与被测设备连接,其特征在于,所述系统包括积木编辑模块、语言解释模块、执行模块、应用管理模块、第一输出模块;
所述积木编辑模块,提供有多个预定义的积木程序块,用于在编程模式下,响应于用户对所述预定义的积木程序块的第一操作,对所述预定义的积木程序块进行处理,生成第一图形化程序,所述多个预定义的积木程序块分别由自动化测试领域的不同功能函数封装而成;
所述语言解释模块,与所述积木编辑模块连接,用于根据预设转换规则将所述第一图形化程序转换成第一脚本程序;
所述执行模块,与所述语言解释模块连接,用于对所述第一脚本程序进行执行,以使所述被测设备从第一实时画面更新为第二实时画面;
所述应用管理模块,与所述被测设备连接,用于获取所述被测设备的第一实时画面,并在所述执行模块对所述第一脚本程序执行后,获取所述被测设备的第二实时画面;
所述第一输出模块,与所述应用管理模块连接,用于输出应用显示界面,所述应用显示界面同步显示所述应用管理模块获取的所述第一实时画面,并在所述执行模块对所述第一脚本程序执行后,更新显示所述第二实时画面。
2.如权利要求1所述的自动化测试用脚本程序的编辑系统,其特征在于,所述系统还包括:第二输出模块,所述第二输出模块包括:第一导出子模块和/或第二导出子模块;
所述第一导出子模块,与所述语言解释模块连接,用于响应于所述用户的第二操作,将所述第一脚本程序转换成自动化测试用脚本文件后进行保存;
所述第二导出子模块,与所述积木编辑木块连接,用于响应于所述用户的第三操作,将所述第一图形化程序转化成xml文件后进行保存。
3.如权利要求1所述的自动化测试用脚本程序的编辑系统,其特征在于,所述语言解释模块还包括:第一语法规则子模块;
所述第一语法规则子模块,用于设定所述预设转换规则,所述预设转换规则包括:所述预定义的积木程序块与其功能函数之间的第一映射规则,以及结构关系与脚本程序之间的第二映射规则,所述结构关系为构成所述第一图形化程序的所述预定义的积木程序块之间的连接关系;
所述语言解释模块,与所述第一语法规则子模块连接,用于根据所述第一语法规则子模块设定的所述预设转换规则将所述第一图形化程序转换成所述第一脚本程序。
4.如权利要求1所述的自动化测试用脚本程序的编辑系统,其特征在于,所述应用管理模块具体包括:第一获取子模块;
所述第一获取子模块,所述第一获取子模块与所述被测设备连接,用于从所述被测设备中获取所述第一实时画面,并在所述执行模块对所述第一脚本程序执行后,从所述被测设备中获取所述第二实时画面。
5.如权利要求4所述的自动化测试用脚本程序的编辑系统,其特征在于,所述应用管理模块,还包括:第二获取子模块、第一关联子模块;
所述第二获取子模块,与所述被测设备连接,用于从所述被测设备中获取所述第一实时画面对应的布局文件,所述布局文件包含所述第一实时画面中各个控件对应的界面元素,所述界面元素用于描述所述控件,所述界面元素包括相对坐标,所述相对坐标用于描述该控件在所述第一实时画面中的相对位置,所述第一实时画面中第一特定控件对应的第一界面元素包括第一相对坐标;
所述第一关联子模块,用于设定触发坐标与所述相对坐标之间的第一关联关系,所述触发坐标用于描述所述用户在所述应用显示界面中的触发位置,其中,第一触发坐标用于描述第一触发位置,第一触发坐标与所述第一相对坐标关联。
6.如权利要求5所述的自动化测试用脚本程序的编辑系统,其特征在于,所述应用管理模块,还包括:
控件属性子模块,与所述第二获取子模块及所述第一关联子模块连接,用于响应于所述用户在所述应用显示界面的第一触发位置的触发操作,从所述第二获取子模块确定所述第一实时画面中所述第一特定控件的第一界面元素并提供,所述第一界面元素用于描述所述第一特定控件;
所述积木编辑模块,与所述控制属性子模块连接,还用于根据所述控件属性子模块提供的所述第一特定控件的第一界面元素,对所述预定义的积木程序块进行参数填充。
7.如权利要求6所述的自动化测试用脚本程序的编辑系统,其特征在于,所述控件属性子模块,具体用于当所述用户在所述应用显示界面上的第一触发位置执行所述触发操作时,获取所述第一触发位置对应的所述第一触发坐标,根据所述第一关联关系将所述第一触发坐标转换成所述第一相对坐标,并根据所述第一相对坐标从所述布局文件中确定与所述第一触发位置对应的所述第一特定控件的所述第一界面元素后进行提供。
8.如权利要求5所述的自动化测试用脚本程序的编辑系统,其特征在于,所述系统还包括:脚本录制模块;
所述脚本录制模块,用于在录制模式下,当所述用户在所述应用显示界面上执行测试操作时,对所述测试操作进行录制,生成第二图形化程序及第二脚本程序。
9.如权利要求8所述的自动化测试用脚本程序的编辑系统,其特征在于,所述脚本录制模块包括:
第三获取子模块,与所述第二获取子模块及所述第一关联子模块连接,用于在所述录制模式下,当所述用户在所述应用显示界面上执行所述测试操作时,从所述第二获取子模块及所述第一关联子模块中获取所述测试操作的操作信息;
第二语法规则子模块,用于设定所述第二图形化程序与所述操作信息之间的第一生成规则、所述第二脚本程序与所述操作信息之间的第二生成规则;
程序生成子模块,与所述第二语法规则子模块连接,用于根据所述第二语法规则子模块提供的所述第一生成规则对所述测试操作的操作信息进行处理,生成所述第二图形化程序,根据所述第二生成规则对所述测试操作的操作信息进行处理,生成所述第二脚本程序。
10.如权利要求8所述的自动化测试用脚本程序的编辑系统,其特征在于,所述第一输出模块,与所述脚本录制模块连接,还用于输出编程窗口区;
所述编程窗口区,用于所述编程模式下,显示所述第一图形化程序,还用于所述录制模式下,显示所述脚本录制模块生成的所述第二图形化程序。
CN201911409411.5A 2019-12-31 2019-12-31 一种自动化测试用脚本程序的编辑系统 Withdrawn CN113126983A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911409411.5A CN113126983A (zh) 2019-12-31 2019-12-31 一种自动化测试用脚本程序的编辑系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911409411.5A CN113126983A (zh) 2019-12-31 2019-12-31 一种自动化测试用脚本程序的编辑系统

Publications (1)

Publication Number Publication Date
CN113126983A true CN113126983A (zh) 2021-07-16

Family

ID=76769939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911409411.5A Withdrawn CN113126983A (zh) 2019-12-31 2019-12-31 一种自动化测试用脚本程序的编辑系统

Country Status (1)

Country Link
CN (1) CN113126983A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113963083A (zh) * 2021-11-04 2022-01-21 北京思明启创科技有限公司 编程积木块绘制方法、积木搭建方法、装置及电子设备
CN116028051A (zh) * 2022-05-06 2023-04-28 珠海市奥德维科技有限公司 自动化语言程序的可视化开发方法、系统、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113963083A (zh) * 2021-11-04 2022-01-21 北京思明启创科技有限公司 编程积木块绘制方法、积木搭建方法、装置及电子设备
CN113963083B (zh) * 2021-11-04 2023-11-24 北京思明启创科技有限公司 编程积木块绘制方法、积木搭建方法、装置及电子设备
CN116028051A (zh) * 2022-05-06 2023-04-28 珠海市奥德维科技有限公司 自动化语言程序的可视化开发方法、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US9336127B2 (en) Exposing method related data calls during testing in an event driven, multichannel architecture
US8645912B2 (en) System and method for use in replaying software application events
CN110765013B (zh) 一种流程自动化执行方法及系统
US20170147480A1 (en) Test script generation
CN107688529B (zh) 组件调试方法和装置
US20040250214A1 (en) Automatic image capture for generating content
US9459780B1 (en) Documenting interactive graphical designs
Grechanik et al. Creating GUI testing tools using accessibility technologies
CN103049371A (zh) Android应用程序测试方法和测试装置
CN103823758A (zh) 一种浏览器测试方法及装置
JP5740634B2 (ja) 自動操作システム及び操作自動化方法
CN111221729B (zh) 一种平台服务与测试服务分离的自动化测试方法及系统
CN113126983A (zh) 一种自动化测试用脚本程序的编辑系统
EP2477116A1 (en) Method and system for debugging a job running on a legacy system
EP3968145A1 (en) Apparatus and method for executing customized artificial intelligence production line, and device and medium
Stocco et al. PESTO: A tool for migrating DOM-based to visual web tests
CN108829591B (zh) 一种基于Web的协同调试系统及方法
CN107015903B (zh) 一种界面测试程序的生成方法、装置及电子设备
Hans Appium essentials
CN112115055A (zh) 一种多机自动化测试方法、装置及计算机设备
CN115758005A (zh) 一种大屏图像的处理方法、装置及介质
CN115658069A (zh) 一种发布平台的项目打包和在线编译方法
CN113220562A (zh) 终端测试方法及装置、计算机存储介质、电子设备
CN115422058A (zh) 对人脸识别应用进行测试的方法和装置
CN210650758U (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210716

WW01 Invention patent application withdrawn after publication