System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及计算机,尤其涉及一种在用例执行中自动操作kafka的方法及装置。
技术介绍
1、 kafka是一种高吞吐量的分布式发布-订阅消息系统,它可以实时处理大量数据,目前被广泛应用。
2、在实际业务中,很多业务场景与kafka有关,如:向kafka发送指定消息、或从kafka获取指定消息。目前,这些与kafka有交互的业务场景在自动化测试过程中,自动化用例无法直接与kafka进行交互,通常依赖手动操作,如:测试用例执行前后,需要由测试或开发人员手动登录到kafka来检查kafka内的结果,测试用例无法自动校验与kafka相关的检查点,测试依赖人工、效率较低。
技术实现思路
1、本专利技术实施例提供一种在用例执行中自动操作kafka的方法及装置,以解决相关技术中测试用例执行前后,需要由测试或开发人员手动登录到kafka来检查kafka内的结果,测试用例无法自动校验与kafka相关的检查点,测试依赖人工、效率较低的技术问题。
2、为解决上述技术问题,本专利技术实施例提供如下几个方面:
3、第一方面,本专利技术实施例提供了一种在用例执行中自动操作kafka的方法,所述方法包括:
4、执行预先编写好的用例,其中包括:
5、模拟第一服务的功能,以在与所述第一服务对应的kafka中,设置标识符key;
6、在与所述第一服务对应的kafka中,查询所设置的所述key的值;
7、根据所述key的值生成请
8、在接收所述第二服务返回的响应值之后,所述方法还包括:
9、模拟所述第二服务的功能,以将所述响应值发送至与所述第二服务对应的kafka,其中,所述响应值能够被第三服务继续调用,所述第二服务为当前服务,所述第一服务为所述第二服务的上游服务,所述第三服务为所述第二服务的下游服务。
10、可选的,所述用例包括以下至少一项关键字:前置操作、所述第一服务的名称、操作类型、key的名称、key对应的值,其中,所述操作类型为在kafka中设置key;
11、模拟第一服务的功能,以在与所述第一服务对应的kafka中,设置key包括:
12、解析所述关键字,执行与所述关键字对应的操作,其中,执行与所述关键字对应的操作包括:
13、连接与所述第一服务对应的kafka,在与所述第一服务对应的kafka中,设置key,其中,所述key的名称为所述关键字中key的名称,所述key的值为所述关键字中key对应的值。
14、可选的,所述用例包括以下至少一项关键字:所述第一服务的名称、所述第二服务的名称、操作类型、key的名称,其中,所述操作类型为在kafka中查询key的值;
15、在与所述第一服务对应的kafka中,查询所设置的所述key的值包括:
16、解析所述关键字,执行与所述关键字对应的操作,其中,执行与所述关键字对应的操作包括:
17、连接与所述第一服务对应的kafka,在与所述第一服务对应的kafka中,查询名称为所述关键字中key的名称的key所对应的值。
18、可选的,连接与所述第一服务对应的kafka包括:
19、查询预先设置的服务与kafka的关系表;其中,所述关系表中,存储有服务、kafka以及kafka的连接地址之间的对应关系;
20、根据所述关系表,获取与所述第一服务对应的kafka的连接地址;
21、根据所述连接地址,连接与所述第一服务对应的kafka。
22、可选的,根据所述key的值生成请求,将所述请求发送至第二服务,接收所述第二服务返回的响应值,根据所述用例的断言验证所述响应值是否符合预期包括:
23、根据所查询到的名称为所述关键字中,key的名称的key所对应的值生成所述请求;
24、将所述请求发送至所述第二服务;其中,所述第二服务的功能为根据所述值和所述第二服务自身设置的运算逻辑,生成所述响应值,所述用例用于测试所述第二服务的功能,所述第二服务还用于将所述响应值发送至与所述第二服务对应的kafka;
25、接收所述第二服务返回的所述响应值;
26、替换所述断言中的参数,其中包括:查询并获取所述第二服务发送至对应的kafka中的所述响应值,以所述响应值替换所述断言中的参数;
27、验证所接收的所述第二服务返回的所述响应值,与查询并获取的所述第二服务发送至对应的kafka中的所述响应值是否相同;
28、若相同,则确定所述第二服务通过所述用例的测试。
29、第二方面,本专利技术实施例提供一种在用例执行中自动操作kafka的装置,所述装置包括:
30、执行模块,用于执行预先编写好的用例,其中包括:
31、模拟第一服务的功能,以在与所述第一服务对应的kafka中,设置标识符key;
32、在与所述第一服务对应的kafka中,查询所设置的所述key的值;
33、根据所述key的值生成请求,将所述请求发送至第二服务,接收所述第二服务返回的响应值,根据所述用例的断言验证所述响应值是否符合预期;
34、在接收所述第二服务返回的响应值之后,模拟所述第二服务的功能,以将所述响应值发送至与所述第二服务对应的kafka,其中,所述响应值能够被第三服务继续调用,所述第二服务为当前服务,所述第一服务为所述第二服务的上游服务,所述第三服务为所述第二服务的下游服务。
35、可选的,所述用例包括以下至少一项关键字:前置操作、所述第一服务的名称、操作类型、key的名称、key对应的值,其中,所述操作类型为在kafka中设置key;
36、所述执行模块,还用于解析所述关键字,执行与所述关键字对应的操作,其中,执行与所述关键字对应的操作包括:连接与所述第一服务对应的kafka,在与所述第一服务对应的kafka中,设置key,其中,所述key的名称为所述关键字中key的名称,所述key的值为所述关键字中key对应的值。
37、可选的,所述用例包括以下至少一项关键字:所述第一服务的名称、所述第二服务的名称、操作类型、key的名称,其中,所述操作类型为在kafka中查询key的值;
38、所述执行模块,还用于解析所述关键字,执行与所述关键字对应的操作,其中,执行与所述关键字对应的操作包括:连接与所述第一服务对应的kafka,在与所述第一服务对应的kafka中,查询名称为所述关键字中key的名称的key所对应的值。
39、可选的,所述执行模块,还用于查询预先设置的服务与kafka的关系表;其中,所述关系表中,存储有服务、kafka以及kafka的连接地址之间的对应关系;根据所述关系表,获取与所述第一服务对应的本文档来自技高网...
【技术保护点】
1.一种在用例执行中自动操作kafka的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述用例包括以下至少一项关键字:前置操作、所述第一服务的名称、操作类型、key的名称、key对应的值,其中,所述操作类型为在kafka中设置key;
3.根据权利要求1所述的方法,其特征在于,所述用例包括以下至少一项关键字:所述第一服务的名称、所述第二服务的名称、操作类型、key的名称,其中,所述操作类型为在kafka中查询key的值;
4.根据权利要求2或3所述的方法,其特征在于,连接与所述第一服务对应的kafka包括:
5.根据权利要求3所述的方法,其特征在于,根据所述key的值生成请求,将所述请求发送至第二服务,接收所述第二服务返回的响应值,根据所述用例的断言验证所述响应值是否符合预期包括:
6.一种在用例执行中自动操作kafka的装置,其特征在于,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述用例包括以下至少一项关键字:前置操作、所述第一服务的名称、操作类型、key的名称
8.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至5中任一项所述的在用例执行中自动操作kafka的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的在用例执行中自动操作kafka的方法的步骤。
10.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至5中任一项所述的在用例执行中自动操作kafka的方法的步骤。
...【技术特征摘要】
1.一种在用例执行中自动操作kafka的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述用例包括以下至少一项关键字:前置操作、所述第一服务的名称、操作类型、key的名称、key对应的值,其中,所述操作类型为在kafka中设置key;
3.根据权利要求1所述的方法,其特征在于,所述用例包括以下至少一项关键字:所述第一服务的名称、所述第二服务的名称、操作类型、key的名称,其中,所述操作类型为在kafka中查询key的值;
4.根据权利要求2或3所述的方法,其特征在于,连接与所述第一服务对应的kafka包括:
5.根据权利要求3所述的方法,其特征在于,根据所述key的值生成请求,将所述请求发送至第二服务,接收所述第二服务返回的响应值,根据所述用例的断言验证所述响应值是否符合预期包括:
6.一种在用例执行中自动操作kafka的装置...
【专利技术属性】
技术研发人员:苑书荣,周军,邹永强,杨晖,
申请(专利权)人:云账户技术天津有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。