CN112699279B - 组件自动化处理方法、装置、设备和存储介质 - Google Patents
组件自动化处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112699279B CN112699279B CN202011629591.0A CN202011629591A CN112699279B CN 112699279 B CN112699279 B CN 112699279B CN 202011629591 A CN202011629591 A CN 202011629591A CN 112699279 B CN112699279 B CN 112699279B
- Authority
- CN
- China
- Prior art keywords
- component
- file
- components
- template
- syntax tree
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 title claims abstract description 33
- 230000000007 visual effect Effects 0.000 claims abstract description 74
- 238000012544 monitoring process Methods 0.000 claims abstract description 36
- 238000012216 screening Methods 0.000 claims abstract description 13
- 238000012360 testing method Methods 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 17
- 238000003672 processing method Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 11
- 238000012423 maintenance Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种组件自动化处理方法、装置、设备和存储介质,该方法包括:获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件;对所述模板文件和所述脚本文件进行解析生成抽象语法树;对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息;将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;对所述可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存,本方案提高了项目研发维护效率,降低了成本。
Description
技术领域
本申请实施例涉及计算机领域,尤其涉及一种组件自动化处理方法、装置、设备和存储介质。
背景技术
在项目研发流程中,项目的工程化是至关重要的一点,项目工程化是***化、模块化、规范化的一个过程,能够帮助开发人员提高编码、测试和维护阶段的生产效率,为企业减少成本。而编写详细的开发文档、可视化用例和测试用例是项目工程化中十分重要的步骤。在前端的项目工程化过程中,模块化使得组件变得低耦合高内聚,有效的组件管理显得非常重要,在此基础上,开发人员可以为组件实现以上的工程化流程,让组件具有可读性、健壮性和强可维护性。
然而在现有的技术中,虽然有相应的工具库可以让开发人员实现以上的工程化流程,但基本都是需要人工编写或操作,而且相对独立,由此会造成额外的开发维护成本,效果较差。
发明内容
本发明实施例提供了一种组件自动化处理方法、装置、设备和存储介质,提高了项目研发维护效率,降低了成本。
第一方面,本发明实施例提供了一种组件自动化处理方法,该方法包括:
获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件;
对所述模板文件和所述脚本文件进行解析生成抽象语法树;
对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息;
将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;
对所述可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存。
第二方面,本发明实施例还提供了一种组件自动化处理装置,该装置包括:
数据解析模块,用于获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件;
语法树生成模块,用于对所述模板文件和所述脚本文件进行解析生成抽象语法树;
信息生成模块,用于对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息;
显示界面生成模块,用于将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;
组件监听模块,用于对所述可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存。
第三方面,本发明实施例还提供了一种组件自动化处理设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的组件自动化处理方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例所述的组件自动化处理方法。
本发明实施例中,通过获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件,对所述模板文件和所述脚本文件进行解析生成抽象语法树,对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息,将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;对所述可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存,提高了项目研发维护效率,降低了成本。
附图说明
图1为本发明实施例提供的一种组件自动化处理方法的流程图;
图1a为本发明实施例提供的一种对模板文件和脚本文件进行解析的方法的流程图;
图2为本发明实施例提供的另一种组件自动化处理方法的流程图;
图3为本发明实施例提供的另一种组件自动化处理方法的流程图;
图4为本发明实施例提供的一种组件自动化处理装置的结构框图;
图5为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
图1为本发明实施例提供的一种组件自动化处理方法的流程图,本实施例可适用于软件项目开发,对项目流程进行管理,具体包括如下步骤:
步骤S101、获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件。
其中,该组件管理数据可以是本地存放的和组件各个流程管理相关的代码文件,其包括文档、用例文件等,如vue格式文件。在一个实施例中,预先创建项目文件夹,将组件管理数据存储至该创建的文件夹中。在项目运行时,对指定目录下的文件进行扫描,如扫描到vue格式文件的组件管理数据,则相应的获取该组件管理数据,对其进行解析。如果未扫描到指定目录下存在组件管理数据,则执行相应的文档生成流程以创建组件管理数据并存储至创建的文件夹中。
在一个实施例中,获取到组件管理数据后对其进行解析以得到模板文件和脚本文件,示例性的,还可解析出css源码等。具体的,对组件管理数据进行解析得到模板文件和脚本文件的过程可以是,根据组件管理数据对应代码中的标签块标识分离出模板文件和脚本文件。示例性的,模板文件标识为<template>和</template>脚本文件标识为<script>和</script>,即将分离出的<template>和</template>之间的代码内容确定为模板文件,将分离出的<script>和</script>之间的代码内容确定为脚本文件。
步骤S102、对所述模板文件和所述脚本文件进行解析生成抽象语法树。
在一个实施例中,针对解析分离出的模板文件和脚本文件进行解析以生成抽象语法树。具体的,可以是如图1a所示,图1a为本发明实施例提供的一种对模板文件和脚本文件进行解析的方法的流程图,其包括:
步骤S1021、通过正则表达式对所述模板文件进行解析得到模板抽象语法树。其中,模板文件为字符串表示,通过大量的正则表达式对其进行解析。其中,正则表达式又称正规表示法、常规表示法,其使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。本步骤中通过设置的正则表达式基于模式匹配,从模板文件的字符串中提取子字符串后,生成相应的抽象语法树。
其中,抽象语法树也称语法树,为源代码的抽象语法结构的树状表现形式。将解析得到的子字符串以语法树的形式进行表示,如vue文件在mount过程中template会被编译为抽象语法树,其中,生成的抽象语法树的每个节点元素对应有相应的类型属性。
步骤S1022、通过设置的编译器对所述脚本文件进行解析得到脚本抽象语法树。在一个实施例中,通过设置的编译器插件babel/parser对脚本文件进行解析得到脚本抽象语法树,其中编译器插件babel/parser的作用即为实现源代码到抽象语法树的转换,在使用前相应的执行:npm install@babel/parser。
需要说明的是,上述步骤S1021以及步骤S1022的执行顺序不限,可以是先执行步骤S1021后执行步骤S1022,也可以是先执行步骤S1022后执行步骤S1021,优选的为并行处理同时执行步骤S1021和步骤S1022。
步骤S103、对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息。
在一个实施例中,构造的抽象语法树的每个节点元素对应有相应的类型属性,在对抽象语法树进行遍历的过程中,根据该类型属性进行信息筛选得到多个预设类型信息。示例性的,预设类型信息包括插槽(slot)信息以及脚本文件中不同属性对应的信息,如method、props和events等属性对应的method信息、props信息和events信息等。其中,插槽信息可理解为“占坑”,即在组件模板中占好具体的位置,当使用对应组件标签时候,组件标签里面的内容会自动填坑(即替换组件模板中<slot>位置的信息);method信息为封装的函数集数据,props和events属性信息为父子组件之间通信相关的信息。在一个实施例中,在得到各类预设类型信息后,将其进行整合,如整合为一个代码文件传入至预设文档模板。
步骤S104、将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面。
其中,该预设文档模板为预先设置的可被多个不同组件管理数据复用的文件,该预设文档模板中设置有不同的标签块以及相关的属性参数,将得到的预设类型信息对应带入到该预设文档模板后,相应的进行可视化显示界面输出。示例性的,在预设模板中<script>标签块中对应带入method信息、props信息和events信息。
步骤S105、对所述可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存。
在一个实施例中,通过可视化显示界面显示一个或多个组件,对该一个或多个组件进行监听,示例性的,该组件可以是按钮、文字、列表等,还可以是任意能够可视化显示的软件开发中的复用部分。相应的,当检测到组件被调用时,根据调用结果生成可视化用例参数进行保存,以用于后续的可视化查看。
由上述方案可知,通过获取本地存储的组件管理数据,对组件管理数据进行解析得到模板文件以及脚本文件,通过进一步解析生成抽象语法树,对该抽象语法树进行遍历得到多个预设类型信息,代入至预设文档模板,输出可视化显示界面,实现了组件管理数据的可视化显示,便于管理和维护,同时,通过对可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存,提高了项目开发效率,便于开发人员快捷、方便的进行项目开发。
图2为本发明实施例提供的另一种组件自动化处理方法的流程图,给出了一种具体对可视化显示界面中显示的组件进行监听的方式。如图2所示,技术方案具体如下:
步骤S201、获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件。
步骤S202、对所述模板文件和所述脚本文件进行解析生成抽象语法树。
步骤S203、对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息。
步骤S204、将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面。
步骤S205、确定所述可视化显示界面对应的视图文件地址,根据所述视图文件地址获取所述可视化显示界面对应的视图文件,对所述视图文件中包含的所有组件进行遍历。
在一个实施例中,在生成包含组件的可视化显示界面后,确定可视化显示界面对应的视图文件地址,在该视图文件地址中存储可视化显示界面的视图文件,对视图文件中包含的所有组件进行遍历。示例性的,每个组件对应一唯一的标识或名称,对包含的组件的标识或名称进行遍历。
步骤S206、若检测到存在和可视化组件名单中记录一致的组件,则将该组件确定为监测组件,对所述监测组件的数据传递值进行监听,检测到数据传递值变更时,根据调用结果生成可视化用例参数进行保存。
在一个实施例中,可对欲监控的组件生成对应的可视化组件名单,示例性的,该可视化组件名单记录有要监控的组件的标识或名称。在对当前视图文件包含的组件进行遍历的过程中,确定是否有记录在可视化组件名单中的组件,如果存在,则将该组件确定为监测组件,对其调用情况进行监听。
在一个实施例中,监听方式为对监测组件的数据传递值进行监听,检测到数据传递值变更时,根据调用结果生成可视化用例参数进行保存。其中,以vue格式的组件管理数据生成的可视化界面组件为例,对props属性值进行深度监听,当props值变化,则表明组件形态或状态会发生改变。优选的,在检测到props值变化后,在本地进行查询是存储有变更后props值对应的用例,如果不存在则根据调用结果生成可视化用例参数进行保存。示例性的,以按钮控件为例,在被调用时,其原有的形状存在改变(如高度、宽度或整体形状),相应的会监听到props值的变化,如果本地未存储该改变后的控件的相应参数,则对该控件(即新的用例)的参数进行本地化存储。
由上述方案可知,通过确定可视化显示界面对应的视图文件地址,根据所述视图文件地址获取所述可视化显示界面对应的视图文件,对视图文件中包含的所有组件进行遍历,若检测到存在和可视化组件名单中记录一致的组件,则将该组件确定为监测组件,实现了对组件的可视化监听,如果存在变化则本地保存可视化的组件用例,优化了开发流程,节省了开发周期,同时,通过采用对数据传递值变更进行监听的方式,可以显著的提高监听效率,同时便于新的组件用例的存储。
在上述技术方案的基础上,在将所述更改后的数据传递值进行保存之后,还包括:当检测到用例查看指令时,将保存的所述更改后的数据传递值传入至对应的组件进行可视化显示。示例性的,启动可视化用例查看程序,检测对组件的点击操作指令,响应与该点击操作指令将本地存储的对应的用例参数传入该组件并进行显示。在另一个实施例中,在将所述更改后的数据传递值进行保存之后,还包括:当检测到组件修改指令时,记录当前的修改参数,对原有的组件参数进行深拷贝处理,在拷贝的组件参数中依据所述修改参数进行修改,并将修改后的结果传入组件进行可视化显示。其中,深拷贝指拷贝组件对象各个层级的属性,复制出来的每个组件对象都单独分配有独立的内存空间,不会互相干扰。
图3为本发明实施例提供的另一种组件自动化处理方法的流程图,在根据调用结果生成可视化用例参数进行保存之前,还包括进行快照测试处理的步骤。如图3所示,技术方案具体如下:
步骤S301、获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件。
步骤S302、对所述模板文件和所述脚本文件进行解析生成抽象语法树。
步骤S303、对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息。
步骤S304、将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面。
步骤S305、确定所述可视化显示界面对应的视图文件地址,根据所述视图文件地址获取所述可视化显示界面对应的视图文件,对所述视图文件中包含的所有组件进行遍历。
步骤S306、若检测到存在和可视化组件名单中记录一致的组件,则将该组件确定为监测组件,对所述监测组件的数据传递值进行监听。
步骤S307、当检测到数据传递值变更时,确定被调用的组件是否为设置的固定模式组件,如果是,则执行步骤S308,否则执行步骤S309。
其中,固定模式组件为形态或状态必须单一的组件。
步骤S308、记录被调用的组件的文档对象模型结构,将所述文档对象模型结构和预先存储稳定文档对象模型结构进行比对。
在一个实施例中,进行快照测试处理的过程可以是记录被调用的组件的文档对象模型结构(即dom结构),将文档对象模型结构和预先存储稳定文档对象模型结构进行比对,如果结构比对一致,则判定快照测试成功。如果比对结果发现不一致,则快照测试处理被定义为失败。
在一个实施例中,在进行快照测试处理之前,还包括设置固定模式组件的步骤,具体为:进行可视化用例查看,进行组件的测试状态设置,指定唯一一份稳定版本用例作为期望,该版本组件即对应有稳定文档对象模型结构,对其进行存储以用于后续比对操作。
步骤S310、根据比对结果确定快照测试处理是否成功,如果是则执行步骤S309,否则执行步骤S311。
步骤S309、根据调用结果生成可视化用例参数进行保存。
步骤S311、不执行生成可视化用例并进行参数保存的操作。
由上述方案可知,当检测到数据传递值变更时,确定被调用的组件是否为设置的固定模式组件,如果是,则记录被调用的组件的文档对象模型结构,将所述文档对象模型结构和预先存储稳定文档对象模型结构进行比对,针对快照测试成功情况,根据调用结果生成可视化用例参数进行保存,即针对不可变更的组件增加了快照测试处理,防止了不可预料的错误发生,降低了项目开发错误率,提高了项目研发维护效率,降低了成本。
需要说明的是,上述步骤S301至步骤S304可单独执行以实现对组件管理数据的可视化界面显示。步骤S205、步骤S206可单独执行以对不同项目中进行可视化处理显示后的组件进行监听,包括后续的对组件的可视化查看以及实时参数修改的步骤。步骤S307至步骤S310可作为单独的组件快照测试功能,以保证要求形态或状态必须单一的组件的单一性。
图4为本发明实施例提供的一种组件自动化处理装置的结构框图,该装置用于执行上述实施例提供的组件自动化处理方法,具备执行方法相应的功能模块和有益效果。如图4所示,该装置具体包括:数据解析模块101、语法树生成模块102、信息生成模块103、显示界面生成模块104和组件监听模块105,其中,
数据解析模块101,用于获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件;
语法树生成模块102,用于对所述模板文件和所述脚本文件进行解析生成抽象语法树;
信息生成模块103,用于对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息;
显示界面生成模块104,用于将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;
组件监听模块105,用于对所述可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存。
由上述方案可知,通过获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件,对所述模板文件和所述脚本文件进行解析生成抽象语法树,对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息,将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;对所述可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存,提高了项目研发维护效率,降低了成本。
在一个可能的实施例中,所述模板文件由字符串组成,所述语法树生成模块102具体用于:
通过正则表达式对所述模板文件进行解析得到模板抽象语法树;
通过设置的编译器对所述脚本文件进行解析得到脚本抽象语法树。
在一个可能的实施例中,所述预设类型信息包括插槽信息以及所述脚本文件中不同属性对应的信息。
在一个可能的实施例中,所述组件监听模块105具体用于:
确定所述可视化显示界面对应的视图文件地址,根据所述视图文件地址获取所述可视化显示界面对应的视图文件;
对所述视图文件中包含的所有组件进行遍历,若检测到存在和可视化组件名单中记录一致的组件,则将该组件确定为监测组件;
对所述监测组件的数据传递值进行监听。
在一个可能的实施例中,所述组件监听模块105具体用于:
当检测到所述数据传递值更改时,确定本地是否存储有和更改后的数据传递值对应的用例,如果不存在,则将所述更改后的数据传递值进行保存。
在一个可能的实施例中,该装置还包括组件查看模块106,用于:
在将所述更改后的数据传递值进行保存之后,当检测到用例查看指令时,将保存的所述更改后的数据传递值传入至对应的组件进行可视化显示。
在一个可能的实施例中,该装置还包括组件修改模块107,用于:
在将所述更改后的数据传递值进行保存之后,当检测到组件修改指令时,记录当前的修改参数,对原有的组件参数进行深拷贝处理,在拷贝的组件参数中依据所述修改参数进行修改,并将修改后的结果传入组件进行可视化显示。
在一个可能的实施例中,该装置还包括快照测试模块108用于:
在根据调用结果生成可视化用例参数进行保存之前,确定被调用的组件是否为设置的固定模式组件,如果是,则进行快照测试处理,相应的,所述根据调用结果生成可视化用例参数进行保存,包括:
如果快照测试处理成功,则根据调用结果生成可视化用例参数进行保存。
在一个可能的实施例中,所述快照测试模块107具体用于:
记录被调用的组件的文档对象模型结构;
将所述文档对象模型结构和预先存储稳定文档对象模型结构进行比对,根据比对结果确定快照测试处理是否成功。
图5为本发明实施例提供的一种组件自动化处理设备的结构示意图,如图5所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图5中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图5中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的组件自动化处理方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的组件自动化处理方法。输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种组件自动化处理方法,该方法包括:
获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件;
对所述模板文件和所述脚本文件进行解析生成抽象语法树;
对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息;
将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;
对所述可视化显示界面中显示的组件进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务,或者网络设备等)执行本发明实施例各个实施例所述的方法。
值得注意的是,上述组件自动化处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (12)
1.组件自动化处理方法,其特征在于,包括:
获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件;
对所述模板文件和所述脚本文件进行解析生成抽象语法树;
对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息;
将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;
确定所述可视化显示界面对应的视图文件地址,根据所述视图文件地址获取所述可视化显示界面对应的视图文件,对所述视图文件中包含的所有组件进行遍历,若检测到存在和可视化组件名单中记录一致的组件,则将该组件确定为监测组件,对所述监测组件的数据传递值进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存。
2.根据权利要求1所述的组件自动化处理方法,其特征在于,所述模板文件由字符串组成,所述对所述模板文件和所述脚本文件进行解析生成抽象语法树,包括:
通过正则表达式对所述模板文件进行解析得到模板抽象语法树;
通过设置的编译器对所述脚本文件进行解析得到脚本抽象语法树。
3.根据权利要求1或2所述的组件自动化处理方法,其特征在于,所述预设类型信息包括插槽信息以及所述脚本文件中不同属性对应的信息。
4.根据权利要求1所述的组件自动化处理方法,其特征在于,所述当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存,包括:
当检测到所述数据传递值更改时,确定本地是否存储有和更改后的数据传递值对应的用例,如果不存在,则将所述更改后的数据传递值进行保存。
5.根据权利要求4所述的组件自动化处理方法,其特征在于,在将所述更改后的数据传递值进行保存之后,还包括:
当检测到用例查看指令时,将保存的所述更改后的数据传递值传入至对应的组件进行可视化显示。
6.根据权利要求4所述的组件自动化处理方法,其特征在于,在将所述更改后的数据传递值进行保存之后,还包括:
当检测到组件修改指令时,记录当前的修改参数,对原有的组件参数进行深拷贝处理,在拷贝的组件参数中依据所述修改参数进行修改,并将修改后的结果传入组件进行可视化显示。
7.根据权利要求1所述的组件自动化处理方法,其特征在于,在根据调用结果生成可视化用例参数进行保存之前,还包括:
确定被调用的组件是否为设置的固定模式组件,如果是,则进行快照测试处理,相应的,所述根据调用结果生成可视化用例参数进行保存,包括:
如果快照测试处理成功,则根据调用结果生成可视化用例参数进行保存。
8.根据权利要求7所述的组件自动化处理方法,其特征在于,所述进行快照测试处理,包括:
记录被调用的组件的文档对象模型结构;
将所述文档对象模型结构和预先存储稳定文档对象模型结构进行比对,根据比对结果确定快照测试处理是否成功。
9.组件自动化处理装置,其特征在于,包括:
数据解析模块,用于获取本地存储的组件管理数据,对所述组件管理数据进行解析得到模板文件以及脚本文件;
语法树生成模块,用于对所述模板文件和所述脚本文件进行解析生成抽象语法树;
信息生成模块,用于对所述抽象语法树进行遍历,根据所述抽象语法树中节点元素的类型属性进行信息筛选得到多个预设类型信息;
显示界面生成模块,用于将所述多个预设类型信息代入至预设文档模板,输出可视化显示界面;
组件监听模块,用于确定所述可视化显示界面对应的视图文件地址,根据所述视图文件地址获取所述可视化显示界面对应的视图文件,对所述视图文件中包含的所有组件进行遍历,若检测到存在和可视化组件名单中记录一致的组件,则将该组件确定为监测组件,对所述监测组件的数据传递值进行监听,当检测到所述组件被调用时,根据调用结果生成可视化用例参数进行保存。
10.根据权利要求9所述的组件自动化处理装置,其特征在于,还包括快照测试模块,用于:在根据调用结果生成可视化用例参数进行保存之前,确定被调用的组件是否为设置的固定模式组件,如果是,则进行快照测试处理。
11.一种组件自动化处理设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的组件自动化处理方法。
12.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8中任一项所述的组件自动化处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011629591.0A CN112699279B (zh) | 2020-12-31 | 2020-12-31 | 组件自动化处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011629591.0A CN112699279B (zh) | 2020-12-31 | 2020-12-31 | 组件自动化处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112699279A CN112699279A (zh) | 2021-04-23 |
CN112699279B true CN112699279B (zh) | 2024-06-18 |
Family
ID=75513423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011629591.0A Active CN112699279B (zh) | 2020-12-31 | 2020-12-31 | 组件自动化处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112699279B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201236A (zh) * | 2021-12-14 | 2022-03-18 | 平安壹钱包电子商务有限公司 | 基于ast的组件配置的方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508762A (zh) * | 2011-09-29 | 2012-06-20 | 用友软件股份有限公司 | 数据交互控制装置和数据交互控制方法 |
CN110780874A (zh) * | 2019-10-25 | 2020-02-11 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9026903B1 (en) * | 2011-01-11 | 2015-05-05 | Google Inc. | Abstract syntax tree interpreter for generating a valid HTML document |
US10536523B2 (en) * | 2014-05-11 | 2020-01-14 | Microsoft Technology Licensing, Llc | File service using a shared file access-rest interface |
US10353701B2 (en) * | 2014-09-29 | 2019-07-16 | Sap Se | Code analysis for cloud-based integrated development environments |
CN108628746A (zh) * | 2018-05-04 | 2018-10-09 | 艺龙网信息技术(北京)有限公司 | 接口自动化测试方法与*** |
CN109189686A (zh) * | 2018-08-30 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 自动化回归测试方法、装置、存储介质和计算机设备 |
CN110609693B (zh) * | 2019-08-15 | 2023-05-26 | 深圳赛安特技术服务有限公司 | 基于数据标准化的代码更新方法、装置及终端设备 |
-
2020
- 2020-12-31 CN CN202011629591.0A patent/CN112699279B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508762A (zh) * | 2011-09-29 | 2012-06-20 | 用友软件股份有限公司 | 数据交互控制装置和数据交互控制方法 |
CN110780874A (zh) * | 2019-10-25 | 2020-02-11 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112699279A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747190B2 (en) | Analysis system, analysis method, and computer program product | |
CN111736840A (zh) | 小程序应用的编译方法、运行方法、存储介质及电子设备 | |
Manner et al. | Troubleshooting serverless functions: a combined monitoring and debugging approach | |
CN110688307A (zh) | JavaScript代码检测方法、装置、设备和存储介质 | |
JP6163707B2 (ja) | 組み込み機器、プログラム作成装置、プログラム | |
CN114138244A (zh) | 模型类文件自动生成方法、装置、存储介质及电子设备 | |
WO2020158460A1 (ja) | デバッグ支援システムおよびデバッグ支援方法 | |
CN112699279B (zh) | 组件自动化处理方法、装置、设备和存储介质 | |
CN115904989A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
JP2010140408A (ja) | ソースコード変換装置 | |
Deknop et al. | A scalable log differencing visualisation applied to cobol refactoring | |
CN116088846A (zh) | 一种持续集成代码格式的处理方法、相关装置及设备 | |
CN111126008A (zh) | 基于xsd的代码生成方法、装置、计算机设备及存储介质 | |
CN111488144A (zh) | 一种数据处理方法以及设备 | |
JP2010140407A (ja) | ソースコード検査装置 | |
US20040153871A1 (en) | Automatic analysis of the properties of a system based on runtime logs | |
CN112783736B (zh) | 软件组件的运行体时间监测方法、装置及电子设备 | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
CN114371848A (zh) | 页面联调方法、装置、设备及存储介质 | |
CN114356783A (zh) | 单元测试代码自动生成方法、装置、存储介质及设备 | |
CN113760291A (zh) | 日志输出的方法和装置 | |
Dua et al. | CGI based syslog management system for virtual machines | |
CN112416367A (zh) | 基于软件逆向拆解和分析的应用资源变更影响分析*** | |
JP2003303100A (ja) | 情報処理システムおよび情報処理システム構築方法並びにこれに用いるプログラム | |
CN111611173A (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 |