CN116383064A - 一种自动化脚本造数平台及方法 - Google Patents
一种自动化脚本造数平台及方法 Download PDFInfo
- Publication number
- CN116383064A CN116383064A CN202310358251.6A CN202310358251A CN116383064A CN 116383064 A CN116383064 A CN 116383064A CN 202310358251 A CN202310358251 A CN 202310358251A CN 116383064 A CN116383064 A CN 116383064A
- Authority
- CN
- China
- Prior art keywords
- script
- page
- template
- module
- counting
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004806 packaging method and process Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000012360 testing method Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 239000000758 substrate Substances 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/3684—Test management for test design, e.g. generating new test cases
-
- 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/3664—Environments for testing or debugging software
-
- 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/368—Test management for test version control, e.g. updating test cases to a new software version
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种自动化脚本造数平台及方法,该平台包括页面端以及服务端,页面端用于获取用户在页面上输入的测试需求以生成对应的造数表单请求,并将造数表单请求发送至服务端;服务端包括封装模块、脚本模板模块以及模板解析模块;封装模块用于对造数表单请求进行分析处理以得到多个造数参数,并将多个造数参数传入脚本模板模块;脚本模板模块用于依据多个造数参数执行预先编写的造数脚本代码,并反馈脚本执行结果到模板解析模块;模板解析模块用于对脚本执行结果进行解析以得到页面组件代码;页面端还用于根据页面组件代码生成结构化的页面表单,以向用户展示结果信息;该平台解决了现有造数业务存在的效率低和版本不一致的问题。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种自动化脚本造数平台及方法。
背景技术
在软件测试工作过程中最关键的步骤是构造测试数据,没有测试数据就无法验证测试用例所描述的测试点。目前构造测试数据方式主要是两种,一种是纯手工构造,这种方式效率极低,耗费人工;另一种是使用单独运行的脚本执行造数操作,即用Python调用接口、数据库等来完成造数功能,通过外部参数来接收输入参数,通过命令行或简单弹窗输出造数结果,但这种方式存在如下问题:因为多人使用,导致脚本的副本到处被复制执行,如果脚本的母版更新了,没办法同时更新这些副本,进而无法保证造数脚本的版本一致性;输入参数通过外部参数方式过于原始,传参时容易出错而且多种输入参数方案不易保存,输出造数结果时过于简单。
因此,急需研发一种自动化脚本造数平台及方法以高效的解决上述存在的一个或多个问题。
发明内容
本发明的一个目的是提供一种自动化脚本造数平台及方法的新技术方案。
根据本发明的第一方面,提供了一种自动化脚本造数平台,所述平台包括页面端以及服务端,所述页面端用于获取用户在页面上输入的测试需求以生成对应的造数表单请求,并将所述造数表单请求发送至所述服务端;
所述服务端包括封装模块、脚本模板模块以及模板解析模块;所述封装模块用于对所述造数表单请求进行分析处理以得到多个造数参数,并将多个所述造数参数传入所述脚本模板模块;所述脚本模板模块用于依据多个所述造数参数执行预先编写的造数脚本代码,并反馈脚本执行结果到所述模板解析模块;所述模板解析模块用于对所述脚本执行结果进行解析以得到页面组件代码;
所述页面端还用于根据所述页面组件代码生成结构化的页面表单,以向用户展示结果信息。
可选地,所述脚本模板模块包括:
第一脚本模板单元,用于表述调用接口的信息和顺序;
第二脚本模板单元,用于汇总造数脚本调用的多个接口的执行结果;
第三脚本模板单元,用于描述页面表单结构的JSON字符串。
可选地,所述模板解析模块包括:
第一解析单元,用于解析所述调用接口的信息和顺序以生成调用和执行的逻辑代码;
第二解析单元,用于解析汇总的多个接口的执行结果以得到页面表单代码;
第三解析单元,用于将所述JSON字符串转换为页面表单规则代码;
其中,所述页面组件代码包括调用和执行的逻辑代码、页面表单代码和页面表单规则代码。
可选地,所述封装模块包括:
请求类封装单元,用于对执行环境的切换、异常的格式化、请求超时后的处理、参数的格式化以及验签/过签的参数数据进行封装;
业务逻辑类封装单元,用于对接口传入参数格式、接口返回值、接口之间传参的环境变量以及重试机制的参数数据进行封装。
可选地,所述平台可根据需要对所述脚本模板模块中的造数脚本代码进行更新。
可选地,所述平台是通过在Python的虚拟环境下采用Django框架搭建而成。
可选地,所述结构化的页面表单可为提示弹窗、包含错误信息的富文本框或者提示异常状态的颜色色块标识。。
根据本发明的第二方面,提供了一种自动化脚本造数方法,所述方法包括:
步骤S1:获取用户在页面端输入的测试需求以生成对应的造数表单请求,并将所述造数表单请求发送至服务端;
步骤S2:所述服务端对所述造数表单请求进行分析处理以得到多个造数参数;
步骤S3:所述服务端依据多个所述造数参数执行预先编写的造数脚本代码并反馈脚本执行结果;
步骤S4:所述服务端对所述脚本执行结果进行解析以得到页面组件代码;
步骤S5:所述页面端根据所述页面组件代码生成结构化的页面表单,以向用户展示结果信息。
根据本发明的第三方面,提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本公开第二方面中所述的一种自动化脚本造数方法中的步骤。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本公开第二方面中所述的一种自动化脚本造数方法中的步骤。
根据本发明公开的一个实施例,具有如下有益效果:
本发明的自动化脚本造数平台中用户只需要在页面端输入测试需求即可通过简单的字段映射出对应的造数表单请求,进而经过服务端封装模块的处理得到造数参数,将造数参数传入服务端脚本模板模块,运行模板脚本模块存储的预先编写的造数脚本代码即造数脚本模板,即可完成造数操作,且如果造数脚本代码有更新则所有用户都能使用最新版本的造数脚本。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为根据实施例提供的一种自动化脚本造数平台的结构框图;
图2为根据实施例提供的一种自动化脚本造数方法的流程示意图;
图3为根据实施例提供的一种电子设备的结构框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
实施例1
参见图1所示,本实施例提供了一种自动化脚本造数平台,所述平台1包括页面端10以及服务端20,该页面端10用于获取用户在页面上输入的测试需求以生成对应的造数表单请求,并将造数表单请求发送至服务端20;
该服务端20包括封装模块21、脚本模板模块22以及模板解析模块23;封装模块21用于对造数表单请求进行分析处理以得到多个造数参数,并将多个造数参数传入脚本模板模块22;脚本模板模块22用于依据多个造数参数执行预先编写的造数脚本代码,并反馈脚本执行结果到模板解析模块23;模板解析模块23用于对脚本执行结果进行解析以得到页面组件代码;
另外,页面端10还用于根据页面组件代码生成结构化的页面表单,以向用户展示结果信息。
本实施例的自动化脚本造数平台中用户只需要在页面端输入测试需求即可通过简单的字段映射出对应的造数表单请求,进而经过服务端封装模块的处理得到造数参数,将造数参数传入服务端脚本模板模块,运行模板脚本模块存储的预先编写的造数脚本代码即造数脚本模板,即可完成造数操作,且如果造数脚本代码有更新则所有用户都能使用最新版本的造数脚本。
可选地,本实施例的自动化脚本造数平台1中脚本模板模块22包括:
第一脚本模板单元,用于表述调用接口的信息和顺序;
第二脚本模板单元,用于汇总造数脚本调用的多个接口的执行结果;
以及,第三脚本模板单元,用于描述页面表单结构的JSON字符串。
可选地,本实施例的自动化脚本造数平台1中模板解析模块23包括:
第一解析单元,用于解析调用接口的信息和顺序以生成调用和执行的逻辑代码:
第二解析单元,用于解析汇总的多个接口的执行结果以得到页面表单代码;
以及,第三解析单元,用于将JSON字符串转换为页面表单规则代码;
其中,页面组件代码包括调用和执行的逻辑代码、页面表单代码和页面表单规则代码。
可选地,本实施例的自动化脚本造数平台1中封装模块21包括:
请求类封装单元,用于对执行环境的切换、异常的格式化、请求超时后的处理、参数的格式化以及验签/过签的参数数据进行封装;
业务逻辑类封装单元,用于对接口传入参数格式、接口返回值、接口之间传参的环境变量以及重试机制的参数数据进行封装。
可选地,本实施例的自动化脚本造数平台1可根据需要对脚本模板模块22中的造数脚本代码进行更新。
可选地,本实施例的自动化脚本造数平台1是通过在Python的虚拟环境下采用Django框架搭建而成。
可选地,本实施例的自动化脚本造数平台1中结构化的页面表单可为提示弹窗、包含错误信息的富文本框或者提示异常状态的颜色色块标识。
具体的,本实施例的自动化脚本造数平台的搭建框架采用Django,基于后端接口实现造数逻辑的思路。造数的核心思路是通过页面端上用户填写的表单信息传给服务端,服务端根据需要将参数分配给不同接口传入,再按实际业务要求顺序请求,期间也需要接口之间传参以完成一个完成业务流程的数据构造,最后将构造结果传回页面端页面呈现给用户。
服务端的封装模块用于封装Request类(请求类),以增加测试环境、参数替换、异常处理等功能;Request类是Python语言自带的基础工具类,封装的目的是需要增加符合造数要求的逻辑,例如执行环境的切换、异常的格式化、请求超时后的处理、参数的格式化、验签/过签的必要参数。
服务端封装业务逻辑类,用于处理接口入参、返回值、接口之间传参、重试机制等;对Request类的封装满足了基础要求,而更贴合业务的要求需要在这步业务逻辑封装中完成,接口的入参要处理成接口需要的格式,返回值要过滤掉不需要的部分,接口之间的传参需要全局的环境变量承载,单次的失败不足以说明问题,需要有重试机制,这些都更接近业务层面要求。
服务端的脚本模板模块提供三部分的模板,其一用于调用业务逻辑类以传参和接受返回值与日志。这里以模板的形式呈现,给出代码基本结构,编写脚本的开发人员指定结构中按示例填写代码即可,不用关心底层实现、异常如何处理等,只需关注让用户填什么、调用哪些接口,调用顺序是什么、执行结果是什么,执行失败呈现什么提醒等等。其二用于汇总N个接口执行结果,提供造数报告即信息聚合的环节,将各接口执行结果选择性的呈现给页面端,反馈给页面端需要用户做的信息即可。其三用于描述页面表单结构的JSON字符串,即完成造数业务为用户提供哪些数据(用户名密码、文章ID、文章标题及上传的图片等),这个描述以JSON字符串的形式表述,JSON字符串中的Key表示程序中可识别的变量名(例如:username、password、lable等),JSON字符串中的Value标识程序中用户传给你的值(例如:张三、文章标题001等),当然Value的值是动态的不是固定的。
服务端的解析模块提供三部分的解析,分别对应上述三部分的模板,其一是解析用于描述页面表单结构的JSON字符串,将其转换为页面表单规则,把需要呈现给用户的内容,根据页面端页面结构,分别赋值给不同页面元素里(例如:提示可能是个弹窗、错误信息是一个富文本框、异常状态是一个颜色色块标识等);其二是用于解析执行接口请求,模板的第二部分表述了调用接口的信息和顺序,如何调用和执行的逻辑是在这个解析部分中解决的;其三是用于解析汇总N个接口执行结果,返回服务端执行结果,把需要呈现给用户的内容,根据页面端页面结构,分别赋值给不同页面元素里(例如:提示可能是个弹窗、错误信息是一个富文本框、异常状态是一个颜色色块标识等)。
另外,Django框架通过Http请求协议,获取服务端给出页面表单构建规则生成操作页面。
Django框架通过Http请求协议,向服务端下发执行请求,并等待后端反馈结果。用户在生成的表单上填写了对应数值之后,会操作类似发布、开始等字样的按钮触发请求,将表单填写的信息通过Http请求协议发送给服务端,服务端接受参数,根据模板编写的接口信息和顺序执行请求,这时页面端会等待后端执行结果,页面端页面会呈现出诸如Loading、发布中等字样,并生成一个“蒙层”覆盖在原有页面端页面上,以阻断用户对页面进一步操作,目的是防止反复操作造成重复发布或服务端过大的压力;但是,也存在一个超时机制,如果因为各种原因,导致页面端页面一直得不到后端响应(一般超过10秒、30秒、60秒,根据具体业务而定),那么就由页面端自己返回给用户一个默认反馈,让用户检查网络、稍后重试、联系谁或者直接告知无响应。
Django框架通过Http请求协议,将服务端反馈结果结构化的展示指定页面位置。
具体的,本实施例的自动化脚本造数平台的创建过程为:
第一步:创建Python的虚拟环境,版本以3.6及以上为宜;
Virtualenv工具是虚拟环境创建的成熟工具,命令参考:virtualenv venv-python=python3.9,安装完成后通过Python3-V和pip3-V两个命令检查环境创建是否成功,如果输出对应版本号就可以认为创建成功。
第二步:安装Django,根据Python版本选择Django的版本;搭建框架采用Django;
第三步:Django项目后端目录下创建名为qacd的文件夹;
在该目录下继续创建Common和Core两个文件夹,Common文件夹中有两个模块,login模块,用于登录逻辑限制非授权人员操作;upload模块,用于加载和更新造数模板的功能。
第四步:Django项目后端目录下创建名为qacd_script的文件夹;
创建业务文件夹,根据自己公司业务分工创建,目录下分为hook模块封装业务相关的方法,同级目录下创建描述业务形态的方法。
第五步:创建hook目录编写xx_hook.py文件以完成较为贴近业务的逻辑;
xx_hook里包括Setup的业务相关处理,Teardown异常处理,例如订单需求,在该模块中要分为以下几个方法:1、向表中插入生活频道订单;2、拉取订单;3、推送至支付中心;4、支付中心拉取数据;5、查询生活频道在支付中心的项目ID;6、审核生活项目下的订单;7、拉取并更新订单状态;以上每个方法里处理对应业务的请求参数。
第六步:业务目录层级下以基础模板创建造数脚本,描述业务形态;
模板中包含_QA_CONFIG字典描述该造数脚本适用环境、_QA_VARIABLES用于描述前台页面表单结构;Run类为描述业务形态是执行的入口,以订单需求为例包含登录bgm,获取sess、创建订单测试数据、拉取订单、推送至支付中心、支付中心拉取数据、查询项目ID、审核数据、拉取并变更订单状态等接口的调用;再创建main方法,在其中描述业务执行顺序,也就是以上接口调用的顺序。
第七步:创建Vue的前端项目,编译部署;
根据Vue官网的部署方法,完成部署后配置后端访问地址,测试前后端通信是否正确,将前后端部署在服务器上,访问默认页面。
第八步:安装和部署Jenkins,启动之后创建jenkins任务自动部署;
根据Jenkins官网的教程安装Jenkins,创建定时任务并将部署前后端的命令写在任务的Shell脚本框中,设置合适的执行频率,目的是当有人提交代码后,自动部署。
第九步:检查前端页面展示并输入参数测试;
启动前后端服务后,查看前端页面展示,后端模板中描述的表单是否正常展示,输入测试用的参数,后端日志中查看是否传递成功。
本发明实施例的自动化脚本造数平台具有如下优点:
1、编码入门更低,有了模板和公共方法可以简化编写成本;
2、提供页面端页面进行参数输入;
3、造数脚本运行在服务端,服务端更新所有人用的都是最新版本脚本。
实施例2:
参见图2所示,本实施例提供了一种自动化脚本造数方法,所述方法包括:
步骤S1:获取用户在页面端输入的测试需求以生成对应的造数表单请求,并将造数表单请求发送至服务端;
步骤S2:服务端对造数表单请求进行分析处理以得到多个造数参数;
步骤S3:服务端依据多个造数参数执行预先编写的造数脚本代码并反馈脚本执行结果;
步骤S4:服务端对脚本执行结果进行解析以得到页面组件代码;
步骤S5:页面端根据页面组件代码生成结构化的页面表单,以向用户展示结果信息。
可选地,本实施例的自动化脚本造数方法中可根据需要对造数脚本代码进行更新。
可选地,本实施例的自动化脚本造数方法中结构化的页面表单可为提示弹窗、包含错误信息的富文本框或者提示异常状态的颜色色块标识。
实施例3:
本发明公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本发明公开实施例2中的一种自动化脚本造数方法中的步骤。
图3为根据本发明实施例的一种电子设备的结构图,如图3所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
实施例4:
本发明公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本发明的实施例2中的一种自动化脚本造数方法中的步骤。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路-例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种自动化脚本造数平台,其特征在于,所述平台包括页面端以及服务端,所述页面端用于获取用户在页面上输入的测试需求以生成对应的造数表单请求,并将所述造数表单请求发送至所述服务端;
所述服务端包括封装模块、脚本模板模块以及模板解析模块;所述封装模块用于对所述造数表单请求进行分析处理以得到多个造数参数,并将多个所述造数参数传入所述脚本模板模块;所述脚本模板模块用于依据多个所述造数参数执行预先编写的造数脚本代码,并反馈脚本执行结果到所述模板解析模块;所述模板解析模块用于对所述脚本执行结果进行解析以得到页面组件代码;
所述页面端还用于根据所述页面组件代码生成结构化的页面表单,以向用户展示结果信息。
2.根据权利要求1所述的自动化脚本造数平台,其特征在于,所述脚本模板模块包括:
第一脚本模板单元,用于表述调用接口的信息和顺序;
第二脚本模板单元,用于汇总造数脚本调用的多个接口的执行结果;
第三脚本模板单元,用于描述页面表单结构的JSON字符串。
3.根据权利要求2所述的自动化脚本造数平台,其特征在于,所述模板解析模块包括:
第一解析单元,用于解析所述调用接口的信息和顺序以生成调用和执行的逻辑代码;
第二解析单元,用于解析汇总的多个接口的执行结果以得到页面表单代码;
第三解析单元,用于将所述JSON字符串转换为页面表单规则代码;
其中,所述页面组件代码包括调用和执行的逻辑代码、页面表单代码和页面表单规则代码。
4.根据权利要求1所述的自动化脚本造数平台,其特征在于,所述封装模块包括:
请求类封装单元,用于对执行环境的切换、异常的格式化、请求超时后的处理、参数的格式化以及验签/过签的参数数据进行封装;
业务逻辑类封装单元,用于对接口传入参数格式、接口返回值、接口之间传参的环境变量以及重试机制的参数数据进行封装。
5.根据权利要求1所述的自动化脚本造数平台,其特征在于,所述平台可根据需要对所述脚本模板模块中的造数脚本代码进行更新。
6.根据权利要求1所述的自动化脚本造数平台,其特征在于,所述平台是通过在Python的虚拟环境下采用Django框架搭建而成。
7.根据权利要求1所述的自动化脚本造数平台,其特征在于,所述结构化的页面表单可为提示弹窗、包含错误信息的富文本框或者提示异常状态的颜色色块标识。
8.一种自动化脚本造数方法,其特征在于,所述方法包括:
步骤S1:获取用户在页面端输入的测试需求以生成对应的造数表单请求,并将所述造数表单请求发送至服务端;
步骤S2:所述服务端对所述造数表单请求进行分析处理以得到多个造数参数;
步骤S3:所述服务端依据多个所述造数参数执行预先编写的造数脚本代码并反馈脚本执行结果;
步骤S4:所述服务端对所述脚本执行结果进行解析以得到页面组件代码;
步骤S5:所述页面端根据所述页面组件代码生成结构化的页面表单,以向用户展示结果信息。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求8所述的一种自动化脚本造数方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求8所述的一种自动化脚本造数方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310358251.6A CN116383064A (zh) | 2023-04-05 | 2023-04-05 | 一种自动化脚本造数平台及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310358251.6A CN116383064A (zh) | 2023-04-05 | 2023-04-05 | 一种自动化脚本造数平台及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116383064A true CN116383064A (zh) | 2023-07-04 |
Family
ID=86972763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310358251.6A Pending CN116383064A (zh) | 2023-04-05 | 2023-04-05 | 一种自动化脚本造数平台及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116383064A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609102A (zh) * | 2024-01-23 | 2024-02-27 | 云筑信息科技(成都)有限公司 | 一种建筑产业互联网造数平台系统测试方法 |
-
2023
- 2023-04-05 CN CN202310358251.6A patent/CN116383064A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609102A (zh) * | 2024-01-23 | 2024-02-27 | 云筑信息科技(成都)有限公司 | 一种建筑产业互联网造数平台系统测试方法 |
CN117609102B (zh) * | 2024-01-23 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种建筑产业互联网造数平台系统测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684054B (zh) | 信息处理方法及装置、电子设备及存储器 | |
CN101795270B (zh) | 一种基于串口的服务器控制方法 | |
US11363087B2 (en) | Leveraging microservices to orchestrate media workflows in the cloud | |
CN104067276B (zh) | 客户机侧最小下载和模拟的页面导航特征 | |
CN108037920A (zh) | 客户端自定义表单生成方法、存储介质 | |
CN111434132A (zh) | 一种eSIM卡的开户方法及终端 | |
EP3907631B1 (en) | Applet processing method and apparatus, device and storage medium | |
WO2008106643A2 (en) | Forms conversion and deployment system for mobile devices | |
CN103809996A (zh) | 对移动计算设备传播经更新驱动程序的方法和其传播系统 | |
CN116383064A (zh) | 一种自动化脚本造数平台及方法 | |
CN110399306A (zh) | 软件模块自动化测试方法及装置 | |
CN110688145A (zh) | Android MVP代码自动生成方法、装置、介质、电子设备 | |
CN110134399B (zh) | 编译方法及装置 | |
CN110113391B (zh) | 一种客户端上线方法、装置及一种客户端运行方法、装置 | |
WO2019226251A1 (en) | Code base sharing between standalone and web-based versions of an application via an emulated network communication channel | |
CN109634838A (zh) | 定位应用程序故障的方法、装置、存储介质和电子设备 | |
CN111061522B (zh) | 基于后端生成前端卡片组件的方法、装置、设备及存储介质 | |
CN114780497B (zh) | 批量文件处理方法、装置、计算机设备、介质和程序产品 | |
CN107179916A (zh) | 一种应用程序开发方法、装置、设备以及开发架构 | |
EP4009611A1 (en) | Service auditing notification method, gateway, electronic device, and readable medium | |
CN115421770A (zh) | 资源信息的处理方法及装置、存储介质、电子设备 | |
CN114035786A (zh) | 一种基于依赖的微前端兼容迁移方法及系统 | |
CN114637531A (zh) | 应用程序接口动态生成方法及装置 | |
CN112527377A (zh) | 应用程序生成处理方法、装置、计算机设备和存储介质 | |
WO2023162260A1 (ja) | 環境構築支援装置、システム及び方法、並びに、コンピュータ可読媒体 |
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 |