【技术实现步骤摘要】
一种低代码接口自动化系统、电子设备及存储介质
[0001]本专利技术属于计算机
,尤其涉及一种低代码接口自动化系统、电子设备及存储介质。
技术介绍
[0002]随着业务规模的扩大,软件程序变得复杂多变,一点细微的代码变动就有可能影响到多方面的功能,因此需要花费大量的人力进行分析测试工作,来验证程序变更之后的影响点,为了缓解此问题软件测试工作需要引入自动化测试来快速的回归各个功能模块,但不同人员使用的自动化测试技术栈不同,且技术水平参差不齐,服务协议多变,写的东西难以维护,且代码覆盖率无法衡量。
技术实现思路
[0003]为解决上述技术问题,本专利技术提出一种低代码接口自动化、电子设备及存储介质的技术方案,以解决上述技术问题。
[0004]本专利技术第一方面公开了一种低代码接口自动化系统,所述系统包括:
[0005]用例转换模块、流程用例编写模块、测试元数据模块、产品环境配置模块、接口请求模块、辅助函数模块、前后置模块、异步校验事件模块、流量分析模块、覆盖率分析模块、任务模块、前端代码分析模块、报告模块和看板模块;
[0006]所述用例转换模块将swagger和curl的三方请求报文解析成系统内的用例;
[0007]所述流程用例编写模块,将多种控制器、接口和用例拼接拖拽组合成流程用例,所述控制器包括if、while和for基础功能;
[0008]所述测试元数据模块,管理每个环境的基础测试数据,通过元数据模板生成每个环境的基础测试数据,从而管理维护测试数据;< ...
【技术保护点】
【技术特征摘要】
1.一种低代码接口自动化系统,其特征在于,所述系统包括:用例转换模块、流程用例编写模块、测试元数据模块、产品环境配置模块、接口请求模块、辅助函数模块、前后置模块、异步校验事件模块、流量分析模块、覆盖率分析模块、任务模块、前端代码分析模块、报告模块和看板模块;所述用例转换模块将swagger和curl的三方请求报文解析成系统内的用例;所述流程用例编写模块,将多种控制器、接口和用例拼接拖拽组合成流程用例,所述控制器包括if、while和for基础功能;所述测试元数据模块,管理每个环境的基础测试数据,通过元数据模板生成每个环境的基础测试数据,从而管理维护测试数据;所述产品环境配置模块,管理产品以及环境信息,包括所述环境级别的请求头注入、环境变量定义、路由匹配和环境断言;所述接口请求模块,调用多种类型接口;所述辅助函数模块,将预设的逻辑封装在一个函数中,提交保存在reload到当前web服务内存中,并同时持久化保存至MySQL;所述前后置模块,通过编写脚本,处理流程用例中的非预设的逻辑;所述异步校验事件模块,使用内置的方法将被测代码的异步或者队列处理的中间过程的校验提交至RabbitMq中,并使用Work监听所述队列获取执行;所述流量分析模块解析线上Nginx日志和请求的代码,将请求的信息解析并降噪落库后,启动一个异步任务做一个覆盖对比,当出口流量存在于线上流量或请求中,则覆盖数加一,最终统计出请求覆盖率以及线上流量覆盖率,作为接口测试线上覆盖率的辅助判断条件;所述覆盖率分析模块,实时分析被测代码的覆盖情况,作为衡量测试用例的代码覆盖度;所述前端代码分析模块,管理解析前端代码,后端将获取前端代码并解析降噪前端代码的请求方式和请求路径,用于流量的代码说明以及统计前端请求的覆盖率;所述任务模块,动态新增编辑测试任务;所述报告模块,保存每一次用例执行和被测代码的测试任务执行的报告;所述看板,展示系统内的测试数据。2.根据权利要求1所述的一种低代码接口自动化系统,其特征在于,所述用例转换模块,通过解析Swagger APIDocs JSON获取当前Swagger中所有的接口信息,包括请求方式、请求描述和请求参数,所述接口信息将存入到一张临时表中;勾选需要导入的接口,将Swagger中的接口批量导入至系统的接口库中,并建立关联关系用于获取接口请求体定义与变更;另外一种方式通过浏览器或者三方抓包软件,将请求录制后复制出当前请求的curl,贴入至系统内,系统自动解析所述请求的依赖关系,将请求顺序录入系统内。3.根据权利要求1所述的一种低代码接口自动化系统,其特征在于,所述流程用例编写模块的前端使用draggable模块进行拖拽组装的行为交互,且拖入至用例中的请求,所述draggable模块将会单独复制一份自己的数据,在用例中变更所述自己的数据,实现单个接口以不同的入参逻辑存在于不同的用例中;所述流程用例编写模块的后端递归用例中的每一个步骤,将用例通过type方法动态创建出继承unittest.TestCase的测试类,将每一个步
骤通过setattr反射到所述...
【专利技术属性】
技术研发人员:宿文,何盛华,邓炜兴,方浩,
申请(专利权)人:宁波数益工联科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。