[发明专利]TCP接口测试方法、介质、设备及装置有效
申请号: | 202110395169.1 | 申请日: | 2021-04-13 |
公开(公告)号: | CN113190388B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 谢婷婷;李秀源;庄建青;韩科敏 | 申请(专利权)人: | 厦门路桥信息股份有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 厦门创象知识产权代理有限公司 35232 | 代理人: | 叶秀红 |
地址: | 361000 福建省厦门市软件园三期诚毅大街3*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | tcp 接口 测试 方法 介质 设备 装置 | ||
本发明公开了一种TCP接口测试方法及装置,其中方法包括:根据测试需求创建不同业务处理逻辑的测试类,并根据jmeter中java请求格式完成代码编写,以及创建线程组,并在所述线程组中添加取样器java请求;获取携带测试信息的接口测试请求,根据测试信息启动客户端,以及调用心跳保活以建立客户端与服务端的长连接;将测试信息写入java对象,并通过netty封装的TCP协议处理模块根据TCP协议规范将测试信息协议编码成编码数据以发送给服务端,以便服务端对编码数据进行解码及相关业务处理,并将处理结果编码成TCP数据包以响应给客户端,客户端根据TCP协议规范接收TCP数据包,并对TCP数据包进行解码及相关业务处理以断言响应结果;从而能够保证高效、稳定的对TCP接口进行测试。
技术领域
本发明涉及测试技术领域,特别涉及一种TCP接口测试方法、一种计算机可读存储介质、一种计算机设备以及一种TCP接口测试装置。
背景技术
相关技术中,在对实际各个系统应用中的TCP服务端进行接口测试时,通常采用开源测试工具jmeter针对TCP协议给出TCPClientImpl、BinaryTCPClientImpl或者LengthPrefixedBinaryTCPClientImpl等取样器用于模拟TCP协议发送和接收TCP字节流数据,但是,使用的上述取样器要么容易造成TCP粘包,要么最终输出的数据不可读,且均没有TCP连接保活的功能,从而容易导致接口测试执行失败。
发明内容
本申请是基于发明人对以下问题的认识与研究而提出的:
现有的TCPClientImpl仅支持输入文本数据;使用该取样器时,将输入的文本数据通过String.getBytes简单编码成字节流A,再在A的后面拼接结束符EOl byte完成TCP组包,然后发送该数据包;而在读取数据包时,直到碰到结束符EOl byte才会结束,否则的话一直读到字节流结束,容易造成TCP粘包;该取样器最终输出的是一串可读字符串;然后再使用jmeter的其它断言模块解析该字符串进行断言,完成一次接口请求测试;
BinaryTCPClientImpl仅支持输入16进制字符串,并且须指定数据包结束符;使用该取样器时,将输入的16进制字符串编码成字节流A,再在A的后面拼接指定数据包结束符转成字节流B,完成TCP组包,然后发送该数据包;而在读取数据包时,直到碰到设定结束符才会结束,否则的话一直读到字节流结束,同样容易造成TCP粘包;该取样器最终输出的是一串16进制字符串,不可读,还需要进一步解码才能变成可读的字符串;然后再使用jmeter的其它断言模块解析该字符串进行断言,完成一次接口请求测试;
LengthPrefixedBinaryTCPClientImpl仅支持输入16进制字符串,但是可以设置数据字节长度Y;使用该取样器时,将输入的16进制字符串编码成字节流A,然后再计算字节流A的长度X1,将X1转成长度为Y的字节流B,并将B合并在字节流A的前面,完成最终的TCP组包,将数据包A发送;而在读取数据时,先读取长度为Y的字节流C,解码成整型X2,接下来再读取的长度为X2的字节流D,然后将字节流D转成16进制字符串;使用该采用器不会发生TCP粘包,最终输出的是一串16进制字符串,不可读,还需要进一步解码才能变成可读的字符串;然后再使用jmeter的其它断言模块解析该字符串进行断言,完成一次接口请求测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门路桥信息股份有限公司,未经厦门路桥信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110395169.1/2.html,转载请声明来源钻瓜专利网。