本发明属于互联网领域,特别是涉及一种基于低代码和faas模式创建和执行拨测的方法。
背景技术:
1、api网关是微服务架构沟通内外服务的重要桥梁,既可以将内部微服务接口暴露给外界用户使用,也可以将外部第三方服务进行封装供内部微服务调用。需要定时进行健康度拨测和并发压力拨测,以监控各个服务是否可以满足用户需求。如果是运营商这种巨型公司,可能依赖成千上万种内外部服务。因为数量巨大,如果使用代码编写拨测用例,成本巨大;如果使用基于低代码的api网关,加上postman脚本,需要使用者熟悉两套系统,并分别开发。如果几千个接口串行执行方式,耗时过长。同时需要一定的灵活性和智能性,而不是按照完全一样的范围进行拨测。并且拨测功能属于一次性功能,没有必要长期维持运行实例。因此,迫切需要一种智能拨测方法来满足需要。
技术实现思路
1、为实现上述目的,本发明提供了如下方案:一种基于低代码和faas模式创建和执行拨测的方法,包括:
2、用户通过低代码前端编辑生成静态拨测方案并存储在数据库中;
3、拨测请求客户端发起拨测请求,请求中含有用户输入或者自动生成一个uuid,作为后续结果查询的关键字;
4、所述拨测请求被最终发送至faas控制器,所述faas控制器部署并调用智能拨测方案生成功能,基于不同的拨测请求类型,调取存储的静态拨测方案或者生成动态拨测方案,返回给所述faas控制器,之后智能拨测方案生成功能自动销毁;
5、所述faas控制器部署拨测网关功能,传入所述uuid以及拨测方案,拨测网关对http接口进行拨测并将已传入的所述uuid作为key,将拨测统计结果记录到数据库;
6、拨测结束后,所述拨测网关将拨测统计结果传递至所述faas控制器,所述faas控制器关闭拨测网关功能,并将所述拨测统计结果发送至拨测请求客户端;所述拨测请求客户端展示所述拨测统计结果,并允许从数据库中读取详细结果并进行展示。
7、优选地,所述拨测请求包括普通全量拨测、手工制定范围拨测、对规定时间内失败的http服务发起拨测、对规定label对应的http服务发起拨测、普通全量并发性能拨测、手工制定范围并发性能拨测、对规定时间内失败的http服务发起并发性能拨测、对规定label对应的http服务发起并发性能拨测。
8、优选地,所述静态拨测方案或者动态拨测方案基于原子api单元、flow单元、schedule单元完成;
9、其中,所述原子api单元为完成单一功能的最小单元;
10、所述flow单元是将一串相关的原子api单元或者其他flow单元串行执行的单元;
11、所述schedule单元用于向flow单元或者httapi单元传入测试参数,还用于并发执行以及并发压力拨测。
12、优选地,所述原子api单元包括httpapi单元,所述httpapi单元用于定义如何对外发送http请求以及如何设置http报文中的参数;
13、所述http请求参数至少包括目的url、请求类型;
14、所述报文中的参数数值既支持固定值,也支持从用户请求的json数据映射。
15、优选地,所述原子api单元还包括其他功能性api单元;
16、所述其他功能性api单元包括数据库api单元、promthus api单元;
17、其中,所述数据库api单元用于将至少包括调用时间、名称、uuid、结果、处理时间写入数据库;
18、所述promthus api单元用于promethus统计值。
19、优选地,所述原子api单元还包括辅助类api单元;
20、所述辅助类api单元用于包括字符串类检查,所述字符串类检查用于包括检查返回值200ok时,http body中json内嵌错误码不为0的情况。
21、优选地,所述schedule单元包括并发执行单元、并发压力拨测单元;
22、所述并发执行单元用于将多个无关的httpapi或者flow定义成一个任务列表,并且允许多个任务并行运行;
23、所述并发压力拨测单元用于对同一个httpapi或者flow,同时并发多个请求,当一个请求完成后,自动开启另一个请求,直到完成规定请求次数,测试一段时间内是否能持续满足并发性要求。
24、优选地,基于不同的拨测请求类型,调取存储的静态拨测方案或者生成动态拨测方案,返回给所述faas控制器的过程包括,
25、若拨测请求是普通全量拨测,直接将全量静态拨测方案返回给faas控制器;
26、若拨测请求是手工制定范围拨测,将全量静态拨测方案读入,只保留手工范围指定的任务,生成新的动态拨测方案,返回给faas服务器;
27、若拨测请求是对规定label对应的http服务发起拨测,则根据数据库中flow或者httpapi中的label进行自动筛选,生成新的动态拨测方案,返回给faas服务器。
28、优选地,若拨测请求是对规定时间内失败的http服务发起拨测,则将全量静态拨测方案读入,将失败http服务从数据库中读出,只保留匹配项,生成新的动态拨测方案,返回给所述faas控制器;
29、所述数据库中的失败http服务是指通过普通客户端发起http请求,到达api网关,所述api网关将所述http请求路由到http服务端,同时所述api网关将执行结果记录到所述数据库;所述执行结果至少包括调用用户、开始时间、持续时间、是否成功。
30、与现有技术相比,本发明的有益之处在于:
31、本发明提供的一种基于低代码和faas模式创建和执行拨测的方法,基于已成熟的低代码api网关,扩展出一套低代码拨测平台,做到一套系统,两种用途。将拨测所用的数据和控制逻辑放在脚本文件中,通过低代码前端让使用者进行编辑。支持多个接口并行执行用于加快执行速度,支持循环加并行的方式执行并发压力拨测。既能支持全量执行,也支持手工挑选和智能自动挑选方式进行拨测。最后采用faas(function as a service)的无服务器方式进行触发执行和自动关闭。通过引入并行执行的能力,大大缩短了拨测的测试时间;通过引入对单接口的循环加并行执行能力,引入了并发压力拨测的解决方案;通过低代码gui前端作为测试方案的编写平台,更适合测试运维人员添加修改,解放了研发人员。通过基于faas的无服务模式触发,只在使用时部署,平时不占用系统资源。通过引入了一定的智能型,如可以手工制定,或者根据label自动选取,或者自动选择一定时间内有错误发生的http接口进行拨测,简化了用户操作。
1.一种基于低代码和faas模式创建和执行拨测的方法,其特征在于,包括:
2.根据权利要求1所述的基于低代码和faas模式创建和执行拨测的方法,其特征在于,
3.根据权利要求1所述的基于低代码和faas模式创建和执行拨测的方法,其特征在于,
4.根据权利要求3所述的基于低代码和faas模式创建和执行拨测的方法,其特征在于,
5.根据权利要求3所述的基于低代码和faas模式创建和执行拨测的方法,其特征在于,
6.根据权利要求3所述的基于低代码和faas模式创建和执行拨测的方法,其特征在于,
7.根据权利要求3所述的基于低代码和faas模式创建和执行拨测的方法,其特征在于,
8.根据权利要求2所述的基于低代码和faas模式创建和执行拨测的方法,其特征在于,
9.根据权利要求2所述的基于低代码和faas模式创建和执行拨测的方法,其特征在于,