CN109739492A - 一种生成脚本代码的方法、终端、设备和介质 - Google Patents

一种生成脚本代码的方法、终端、设备和介质 Download PDF

Info

Publication number
CN109739492A
CN109739492A CN201910022291.7A CN201910022291A CN109739492A CN 109739492 A CN109739492 A CN 109739492A CN 201910022291 A CN201910022291 A CN 201910022291A CN 109739492 A CN109739492 A CN 109739492A
Authority
CN
China
Prior art keywords
component
scripted code
sub
parent
user instruction
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
Application number
CN201910022291.7A
Other languages
English (en)
Other versions
CN109739492B (zh
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.)
Wuhan Ouyue Netvision Co Ltd
Original Assignee
Wuhan Ouyue Netvision 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 Wuhan Ouyue Netvision Co Ltd filed Critical Wuhan Ouyue Netvision Co Ltd
Priority to CN201910022291.7A priority Critical patent/CN109739492B/zh
Publication of CN109739492A publication Critical patent/CN109739492A/zh
Application granted granted Critical
Publication of CN109739492B publication Critical patent/CN109739492B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本公开提供了一种生成脚本代码的方法、终端、设备和介质。所述方法包括:获取用户指令,根据该用户指令获取构成脚本代码的N个父组件,N≥1;获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,M≥1;根据父组件和子组件之间的层级关系,对所述N个父组件和M个子组件进行参数校验、组件替换、函数替换后,通过模板引擎进行数据填充生成脚本代码。本公开避免了用户直接编写脚本代码带来的困难,降低了生成脚本代码的难度。

Description

一种生成脚本代码的方法、终端、设备和介质
技术领域
本公开涉及一种生成脚本代码的方法、终端、设备和介质。
背景技术
Web可视化界面操作生成组件化测试脚本描述:进行性能测试或接口测试时,需要编写大量的测试脚本,开发语言一般选用python、Java等,普通测试人由于缺乏相关编程语言基础,导致编写出的脚本质量难以保证且脚本编写效率较低。为提高降低使用门槛、提高效率,业内通常采用可视化界面编辑模式代替全手工编写脚本代码。
目前存在的可视化界面编辑模式如C/S结构的Apache Jmeter工具,B/S结构的阿里巴巴的PTS性能测试平台,都能通过简单的UI操作生成脚本代码,但也存在各自的缺点:Jmeter为C/S结构工具,需依赖客户端环境如JDK、Jmeter程序包,更新升级可能导致生成的脚本文件与程序不兼容问题,同时也无法进行B/S结构改造,无法被Web端引入。PTS性能测试平台虽采用的B/S结构,但其可视化操作界面功灵活性较低,无法完成复杂用户行为的编排;同时,如需增加功能或操作,需从前端界面到后台实现进行较大的代码改动,无法做到快速响应。
发明内容
本公开一方面提供了一种生成脚本代码的方法,所述方法包括:获取用户指令,根据该用户指令获取构成脚本代码的N个父组件,N≥1;获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,M≥1;根据父组件和子组件之间的层级关系,对所述N个父组件和M个子组件进行参数校验、组件替换、函数替换后,通过模板引擎进行数据填充生成脚本代码。
可选地,所述获取用户指令,根据该用户指令获取构成所述脚本代码的N个父组件,包括:创建脚本代码数据库,将构成脚本代码的不同模块映射为不同的父组件,并根据所述父组件构建可视化界面;从所述可视化界面中获取所述用户指令,根据用户指令从所述脚本代码数据库中获取构成所述脚本代码的N个父组件。
可选地,所述父组件包括:用于实现脚本代码主体功能的主体组件、用于实现初始化功能的初始化组件和\或用于实现登录认证功能的业务组件。
可选地,所述获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,包括:将构成脚本代码的模块进行拆分,将拆分得到的所述模块的不同部分映射为子组件;将所述子组件存储于所述脚本代码数据库中,并根据所述子组件构建可视化界面;从所述可视化界面中获取所述用户指令,根据用户指令从所述脚本代码数据库中获取构成所述脚本代码的M个子组件。
可选地,所述子组件包括:所述主体组件中封装了参数和函数的主体基础组件,所述初始化组件中封装了参数和函数的初始化基础组件,和\或所述业务组件中封装了参数和函数的业务基础组件。
可选地,所述对所述N个父组件和M个子组件进行参数校验,包括:判断所述N个父组件和M个子组件是否均存在,若否,则停止生成脚本代码;判断所述N个父组件和M个子组件中所包含的参数是否均非法,若是,则停止生成脚本代码。
可选地,所述通过模板引擎进行数据填充生成脚本代码,包括:通过Freemark模板引擎产生脚本代码模板,将数据填充进入所述脚本代码模板,得到初始脚本代码;对所述初始脚本代码通过参数过滤器和函数过滤器进行解析,得到可执行脚本代码。
本公开另一方面提供了一种生成脚本代码的终端,所述终端包括:父组件获取模块,用于获取用户指令,根据该用户指令获取构成脚本代码的N个父组件,N≥1;子组件获取模块,用于获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,M≥1;脚本代码生成模块,用于根据父组件和子组件之间的层级关系,对所述N个父组件和M个子组件进行参数校验、组件替换、函数替换后,通过模板引擎进行数据填充生成脚本代码。
本公开又一方面提供了一种电子设备,所述设备包括:处理器;存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如上文所述的生成脚本代码的方法。
本公开再一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上文所述的生成脚本代码的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了本公开一个实施例提供的生成脚本代码的方法流程图;
图2示意性示出了本公开另一个实施例提供的生成脚本代码的方法流程图;
图3示意性示出了本公开实施例提供的可视性界面中选择父组件的示意图;
图4示意性示出了本公开实施例提供的可视性界面中选择子组件的示意图;
图5示意性示出了本公开实施例提供的数据转换处理后得到的数据示意图;
图6示意性示出了本公开又一个实施例提供的生成脚本代码的方法流程图;
图7示意性示出了本公开实施例提供的父组件和子组件的结构关系图;
图8示意性示出了本公开实施例提供的生成脚本代码的终端框图;
图9示意性示出了根据本公开实施例提供的电子设备框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
本公开一个实施例提供了一种生成脚本代码的方法,如附图1所示,所述方法包括下列步骤S101-步骤S103的内容:
本公开实施例中所述的脚本代码是指可执行代码,即机器能够直接执行的代码。
步骤S101:获取用户指令,根据该用户指令获取构成脚本代码的N个父组件,N≥1。
其中,用户指令的获取可以通过多种形式实现,例如可以通过可视化界面中的目录表、可选项、用户手动录入等。用户指令包括增加和删除,通过点击、拖拽等方式选择父组件,实现父组件的增加和删除。
父组件包括:用于实现脚本代码主体功能的主体组件、用于实现初始化功能的初始化组件和\或用于实现登录认证功能的业务组件。主体组件例如可以为具体的事件“发送HTTP请求”,初始化组件例如可以为对该主体组件的初始化事件,业务组件例如可以为该主体组件“发送HTTP请求”之前的“登录认证”事件。这些事件作为脚本代码的不同构成模块,实现各种不同的功能。父组件作为这些模块的一种映射,通过获取父组件来获取其对应的脚本代码中的不同模块。
步骤S102:获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,M≥1。
同理,该用户指令的获取同样可以通过可视化界面中的目录表、可选项、用户手动录入等。用户指令包括增加和删除,通过点击、拖拽等方式选择子组件,实现子组件的增加和删除。
所述子组件包括:主体组件中封装了参数和函数的主体基础组件,初始化组件中封装了参数和函数的初始化基础组件,和\或业务组件中封装了参数和函数的业务基础组件。由于父组件是脚本代码中不同模块的映射,子组件与父组件之间为父子关系,因此子组件为组成该模块的不同部分。父组件中的主体组件例如可以为具体的事件“发送HTTP请求”,那么子组件可以为构成该“发送HTTP请求”的基础组件,例如请求头组件,请求主体body组件,cookie组件等。其中请求头组件,请求主体body组件,cookie组件则均可通过相对应的参数、函数进行封装之后构成。
步骤S103:根据父组件和子组件之间的层级关系,对所述N个父组件和M个子组件进行参数校验、组件替换、函数替换后,通过模板引擎进行数据填充生成脚本代码。
父组件和子组件的层级关系,也就是预设构建的树结构,通过该树结构实现通过父组件对子组件的调用。通过对父组件和子组件进行参数校验是对父组件和子组件中参数的合法性进行校验以确保生成的脚本可执行,将父组件和子组件组件替换为其所映射的多个模块和多个部分,并将这些模块及部分所对应的层级函数进行替换,替换为格式统一可执行的函数。最后通过模板引擎将这些参数、函数进行整合,以实现生成可执行的脚本代码。
综上所述,本公开实施例根据用户指令获取具有层级关系的父组件和子组件,该获取过程灵活,可灵活新增或修改组件,即对这些组件进行灵活的组合。并通过对这些父组件和子组件进行替换,得到所对应的已进行封装的参数、函数模块,利用模板引擎将这些已进行封装的参数、函数模块进行整合得到可执行的脚本代码。避免了用户直接编写脚本代码带来的困难,降低了生成脚本代码的难度,也避免了现有技术中无法完成完成复杂用户行为的编排,无法做到快速响应的问题。
本公开一个实施例提供了一种生成脚本代码的方法,如附图2所示,所述方法包括下列步骤S201-步骤S206的内容:
步骤S201:创建脚本代码数据库,将构成脚本代码的不同模块映射为不同的父组件,并根据所述父组件构建可视化界面。
其中将构成脚本代码的不同模块映射为不同的父组件,这里的不同模块可以指用于实现不同功能的模块。所述父组件包括:用于实现脚本代码主体功能的主体组件、用于实现初始化功能的初始化组件和\或用于实现登录认证功能的业务组件。
示例性地,如图3所示,在该构成的可视化界面中,主体组件即为“事物”栏选项,本公开实施例以“发送http请求”为例进行说明,用户可以通过选择网络协议,请求链接等构成该“发送http请求”的主体,网络协议的选择实现了主体组件是以get的方式进行,请求链接以网站URL进行获取。以两者的结合构成该主体组件,即父组件。用于实现初始化功能的初始化组件可以是对需要进行初始化的主体组件进行选择,即该主体组件是需要初始化的。业务组件为图3中的“添加登录”栏选项,通过可选择的不同的登录方式,用户名和密码等构成该父组件的可视化界面。需要说明的是,在本公开的实施例中,对于主体组件、初始化组件是必选项,其构成了脚本代码的执行目的和实现方式,而业务组件为可选项,该“发送http请求”的过程可登录也可不登录。
步骤202:将构成脚本代码的模块进行拆分,将拆分得到的所述模块的不同部分映射为子组件;将所述子组件存储于所述脚本代码数据库中,并根据所述子组件构建可视化界面。
其中将父组件的模块拆分得到不同部分,将该不同的部分映射为子组件,这里的不同部分可以指构成该模块的具体实现组成部分。所述子组件包括:主体组件中封装了参数和函数的主体基础组件,初始化组件中封装了参数和函数的初始化基础组件,和\或业务组件中封装了参数和函数的业务基础组件。示例性地,如图4所示,“高级选项”中的各个可选项目,例如header请求头、body主体、cookie、变量提取等作为构成“发送http请求”的主体组件的子组件。这些部分均是组成“发送http请求”的各个具体实现部分,每个部分通过封装好的参数以及函数组成。通过这些可选项形成子组件的可视化界面。
初始化基础组件可以为相应的多个参数和函数的可选项,业务基础组件则也可以为其中的多个参数以及函数的可选项,通过这些可选项可以组成子组件的可视化界面。
步骤S203:从所述可视化界面中获取所述用户指令,根据用户指令从所述脚本代码数据库中获取构成所述脚本代码的N个父组件。
示例性地,如图3所示,在该构成的可视化界面中,主体组件通过对其中的“事物”栏选项进行选择实现获取,本公开实施例以“发送http请求”为例进行说明,用户可以通过选择网络协议,请求链接等构成该“发送http请求”的主体,网络协议的选择实现了主体组件是以get的方式进行,请求链接以网站URL进行获取。以两者的结合构成该主体组件,即父组件。可以添加或删除对该主体组件中的具体项进行增加或删除,从而将脚本代码的主体进行确定,确定该脚本代码需要执行的目的以及方式。父组件中同样可以对变量参数进行选择,例如图3中的循环变量。
同理地,对于初始化组件而言,初始化组件实现的模块功能是对脚本代码中的参数进行初始化,使其在后续的使用过程中可以实现赋值等功能。具体地可以在初始化组件中进行上述主体组件的选择,即该主体组件是需要初始化的。
对于业务组件可以在图3所示的初始区域中进行选择,业务组件实现的模块功能是用于实现登录认证功能,在发送http请求的过程中处于安全的考虑可以通过该登录认证的步骤进行实现。例如“添加登录”栏选项进行选择,选择构成该业务组件的登录方式,并添加用户名和密码等。其中选择构成该业务组件的登录方式还包括其他可选项,例如图3所示的压力站移动端登录,压力站Web端登录,压力站网关协议登录等。该登录方式以压力测试为例,压力测试是指对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。因此该登录方式中出现压力站的选择。
步骤S204:从所述可视化界面中获取所述用户指令,根据用户指令从所述脚本代码数据库中获取构成所述脚本代码的M个子组件。
如图4所示,“高级选项”中的各个可选项目即为主体组件中的子组件,例如header请求头、body主体、cookie、变量提取等作为构成“发送http请求”的主体组件的子组件。通过可视化界面用户可以选择通过不同的函数构成的这些子组件,例如header请求头包括对响应头关联函数的选择,cookie中包括对cookie关联函数的选择,变量提取可以是对已存储的子组件中的变量(或者参数)进行获取。
步骤S205:根据父组件和子组件之间的层级关系,对所述N个父组件和M个子组件进行参数校验、组件替换、函数替换。
在进行数据转换处理时,如图6所示的实施例中,在可视化界面选择了父组件和子组件后会生成表单,表单中包含组成父组件和子组件的各种函数、参数等,随即会进入数据转换处理的过程,首先需要进行数据的合法性校验,需判断所述N个父组件和M个子组件是否均全部存在,若否,则停止生成脚本代码;判断所述N个父组件和M个子组件中所包含的参数是否非法,若是,则停止生成脚本代码。即参数是否非法,不合法参数有多种可能,例如参数类型不对,参数格式不对或者参数不该为空的,传入了空参数等。校验后进行参数、函数替换,将父组件、子组件所映射的函数等转换为其原本的数据格式。另外,若父组件中有业务函数时,也需将其进行转换,该步骤可以与主体组件进行转换时同时进行,也可单独进行。
如图5所示,当获取完父组件和子组件后,在参数校验的部分,例如父组件中的参数“uid”及“url”,子组件中参数“descheader”“desccookie”等(其中子组件的参数在图5中未示出),需判别其是否为空,通常情况下利用if语句即可进行判别。在组件替换过程中,将父组件中的已选择的主体组件替换为相应的函数,例如请求链接以及网络协议的选择中,在网络协议选择为get的方式情况下,请求链接函数“self.request.url”。将子组件中已选择的组件也相应地替换为函数例如“ExtractorResponseHeader”“extractorcookie”等。在函数替换过程中,将其函数的具体形式进行替换,加入所需参数。示例性地其为:“self.request.url=http://example/customrecom?boothid=18&uid=Str(randomInt(1,99999))”。当获取完父组件和子组件,以及进行参数校验、组件替换、函数替换后,得到的json格式的数据如图5所示,由此构成的父组件和子组件的关系结构图如图7所示,可清楚的看到,父组件与子组件之间的从属关系,以及通过父组件的函数可以调用子组件的函数。
步骤S206:通过Freemark模板引擎产生脚本代码模板,将数据填充进入所述脚本代码模板,得到初始脚本代码;对所述初始脚本代码通过参数过滤器和函数过滤器进行解析,得到可执行脚本代码。
图7中所示的Top定义区块以及全局定义区块为通过Freemark模板引擎得到的脚本代码模板生成的模板内容,将图5中的数据部分填充至通过Freemark模板引擎产生脚本代码模板中,并通过参数过滤器和函数过滤器进行解析,即可得到可执行脚本代码。
综上所述,本公开实施例根据用户指令获取具有层级关系的父组件和子组件,该获取过程灵活,可灵活新增或修改组件,即对这些组件进行灵活的组合。并通过对这些父组件和子组件进行替换,得到所对应的已进行封装的参数、函数模块,利用模板引擎将这些已进行封装的参数、函数模块进行整合得到可执行的脚本代码。避免了用户直接编写脚本代码带来的困难,降低了生成脚本代码的难度,也避免了现有技术中无法完成完成复杂用户行为的编排,无法做到快速响应的问题。
参见图8,图8示例性示出了本公开实施例提供的一种生成脚本代码的终端800,所述终端800包括:父组件获取模块801,用于获取用户指令,根据该用户指令获取构成脚本代码的N个父组件,N≥1;子组件获取模块802,用于获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,M≥1;脚本代码生成模块803,用于根据父组件和子组件之间的层级关系,对所述N个父组件和M个子组件进行参数校验、组件替换、函数替换后,通过模板引擎进行数据填充生成脚本代码。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。
图9示意性示出了根据本公开实施例的电子设备的框图。
如图9所示,电子设备900包括处理器901和存储器902。该电子设备900可以执行根据本公开实施例的方法。
具体地,处理器901例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
存储器902,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如上文所述的直播间标签的添加方法。
本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种生成脚本代码的方法,其特征在于,所述方法包括:
获取用户指令,根据该用户指令获取构成脚本代码的N个父组件,N≥1;
获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,M≥1;
根据父组件和子组件之间的层级关系,对所述N个父组件和M个子组件进行参数校验、组件替换、函数替换后,通过模板引擎进行数据填充生成脚本代码。
2.根据权利要求1所述的方法,其特征在于,所述获取用户指令,根据该用户指令获取构成所述脚本代码的N个父组件,包括:
创建脚本代码数据库,将构成脚本代码的不同模块映射为不同的父组件,并根据所述父组件构建可视化界面;
从所述可视化界面中获取所述用户指令,根据用户指令从所述脚本代码数据库中获取构成所述脚本代码的N个父组件。
3.根据权利要求2所述的方法,其特征在于,所述父组件包括:
用于实现脚本代码主体功能的主体组件、用于实现初始化功能的初始化组件和\或用于实现登录认证功能的业务组件。
4.根据权利要求2所述的方法,其特征在于,所述获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,包括:
将构成脚本代码的模块进行拆分,将拆分得到的所述模块的不同部分映射为子组件;
将所述子组件存储于所述脚本代码数据库中,并根据所述子组件构建可视化界面;
从所述可视化界面中获取所述用户指令,根据用户指令从所述脚本代码数据库中获取构成所述脚本代码的M个子组件。
5.根据权利要求3或4所述的方法,其特征在于,所述子组件包括:所述主体组件中封装了参数和函数的主体基础组件,所述初始化组件中封装了参数和函数的初始化基础组件,和\或所述业务组件中封装了参数和函数的业务基础组件。
6.根据权利要求1所述的方法,其特征在于,所述对所述N个父组件和M个子组件进行参数校验,包括:
判断所述N个父组件和M个子组件是否均存在,若否,则停止生成脚本代码;
判断所述N个父组件和M个子组件中所包含的参数是否均非法,若是,则停止生成脚本代码。
7.根据权利要求1所述的方法,其特征在于,所述通过模板引擎进行数据填充生成脚本代码,包括:
通过Freemark模板引擎产生脚本代码模板,将数据填充进入所述脚本代码模板,得到初始脚本代码;
对所述初始脚本代码通过参数过滤器和函数过滤器进行解析,得到可执行脚本代码。
8.一种生成脚本代码的终端,其特征在于,所述终端包括:
父组件获取模块,用于获取用户指令,根据该用户指令获取构成脚本代码的N个父组件,N≥1;
子组件获取模块,用于获取用户指令,根据该用户指令从所述父组件中获取组成脚本代码的M个子组件,M≥1;
脚本代码生成模块,用于根据父组件和子组件之间的层级关系,对所述N个父组件和M个子组件进行参数校验、组件替换、函数替换后,通过模板引擎进行数据填充生成脚本代码。
9.一种电子设备,其特征在于,所述设备包括:
处理器;
存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行如权利要求1-7中用于生成脚本代码的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中用于生成脚本代码的方法。
CN201910022291.7A 2019-01-09 2019-01-09 一种生成脚本代码的方法、终端、设备和介质 Active CN109739492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910022291.7A CN109739492B (zh) 2019-01-09 2019-01-09 一种生成脚本代码的方法、终端、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910022291.7A CN109739492B (zh) 2019-01-09 2019-01-09 一种生成脚本代码的方法、终端、设备和介质

Publications (2)

Publication Number Publication Date
CN109739492A true CN109739492A (zh) 2019-05-10
CN109739492B CN109739492B (zh) 2022-06-17

Family

ID=66364192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910022291.7A Active CN109739492B (zh) 2019-01-09 2019-01-09 一种生成脚本代码的方法、终端、设备和介质

Country Status (1)

Country Link
CN (1) CN109739492B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831275A (zh) * 2020-07-14 2020-10-27 绿盟科技集团股份有限公司 一种编排微场景剧本的方法、服务器、介质及计算机设备
CN111949548A (zh) * 2020-08-24 2020-11-17 福建国信立联信息科技有限公司 一种自动化越权渗透测试方法和存储设备
CN113687872A (zh) * 2021-07-19 2021-11-23 北京鸿腾智能科技有限公司 选择组件控制方法、设备、存储介质及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114226A (zh) * 2007-08-28 2008-01-30 北京中企开源信息技术有限公司 一种基于模型组件的代码自动生成装置、系统及方法
US20140068553A1 (en) * 2012-08-29 2014-03-06 Kamesh Sivaraman Balasubramanian Wireframe Recognition and Analysis Engine
CN106649100A (zh) * 2016-11-16 2017-05-10 福建天晴数码有限公司 一种自动化测试方法及系统
CN108681454A (zh) * 2018-05-23 2018-10-19 成都淞幸科技有限责任公司 一种网页可视化构件开发方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114226A (zh) * 2007-08-28 2008-01-30 北京中企开源信息技术有限公司 一种基于模型组件的代码自动生成装置、系统及方法
US20140068553A1 (en) * 2012-08-29 2014-03-06 Kamesh Sivaraman Balasubramanian Wireframe Recognition and Analysis Engine
CN106649100A (zh) * 2016-11-16 2017-05-10 福建天晴数码有限公司 一种自动化测试方法及系统
CN108681454A (zh) * 2018-05-23 2018-10-19 成都淞幸科技有限责任公司 一种网页可视化构件开发方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831275A (zh) * 2020-07-14 2020-10-27 绿盟科技集团股份有限公司 一种编排微场景剧本的方法、服务器、介质及计算机设备
CN111831275B (zh) * 2020-07-14 2023-06-30 绿盟科技集团股份有限公司 一种编排微场景剧本的方法、服务器、介质及计算机设备
CN111949548A (zh) * 2020-08-24 2020-11-17 福建国信立联信息科技有限公司 一种自动化越权渗透测试方法和存储设备
CN113687872A (zh) * 2021-07-19 2021-11-23 北京鸿腾智能科技有限公司 选择组件控制方法、设备、存储介质及装置
CN113687872B (zh) * 2021-07-19 2024-03-29 三六零数字安全科技集团有限公司 选择组件控制方法、设备、存储介质及装置

Also Published As

Publication number Publication date
CN109739492B (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
CN109739492A (zh) 一种生成脚本代码的方法、终端、设备和介质
CN109857668A (zh) Ui自动化功能测试方法、测试装置、测试设备及存储介质
CN106961362B (zh) 自动化测试方法及移动云测试系统
CN105871838B (zh) 一种第三方账号的登录控制方法及用户中心平台
CN102880546B (zh) 一种基于xml数据库的软件集成测试方法及系统
CN107341098A (zh) 软件性能测试方法、平台、设备及存储介质
CN107506303A (zh) 用于自动化测试的方法、装置及系统
CN108628748B (zh) 自动化测试管理方法和自动化测试管理系统
CN104298604A (zh) 云服务健壮性测试系统及测试方法
US20180165070A1 (en) Service broker code generator
CN109800387A (zh) 一种生成试验报告的方法
CN109062780A (zh) 自动化测试用例的开发方法及终端设备
CN109240688A (zh) 界面开发方法、电子装置及可读存储介质
CN106586734A (zh) 一种电梯远程调试方法、应用终端及调试系统
CN109086213A (zh) 一种基于分布式系统的商用车网络测试管理系统及方法
CN103678124A (zh) 基于持续集成环境的视频监控平台自动测试方法及装置
CN111130922A (zh) 一种机载信息安全自动化测试方法及测试平台
CN105515883A (zh) 一种测试方法及系统
CN106331003A (zh) 一种云桌面上应用门户系统的访问方法及装置
CN109902251A (zh) 基于决策树的方案选择方法、装置、终端及可读存储介质
CN110069929A (zh) 漏洞处置分析方法及其分析模型的构建方法和装置
CN111245671B (zh) 用于卫星激光通信终端地面测试的自动化集成测试系统
CN107145439A (zh) 一种测试请求处理方法及装置
CN105049505A (zh) 一种适配多种云存储接口的方法及系统
CN113760730A (zh) 一种自动化测试的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant