CN115190055A - 一种tcp报文定制化转换方法、装置及存储介质 - Google Patents

一种tcp报文定制化转换方法、装置及存储介质 Download PDF

Info

Publication number
CN115190055A
CN115190055A CN202210807615.XA CN202210807615A CN115190055A CN 115190055 A CN115190055 A CN 115190055A CN 202210807615 A CN202210807615 A CN 202210807615A CN 115190055 A CN115190055 A CN 115190055A
Authority
CN
China
Prior art keywords
tcp
message
length
sampler
tcp message
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
Application number
CN202210807615.XA
Other languages
English (en)
Inventor
吴伟伟
程峰
李耀
田骏
章文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Zhongbang Bank Co Ltd
Original Assignee
Wuhan Zhongbang Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Zhongbang Bank Co Ltd filed Critical Wuhan Zhongbang Bank Co Ltd
Priority to CN202210807615.XA priority Critical patent/CN115190055A/zh
Publication of CN115190055A publication Critical patent/CN115190055A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及性能测试领域,提供了一种TCP报文定制化转换方法、装置及存储介质。目的在于解决TCP取样器无法自动组装报文的长度位数,导致在交易的时候服务器无法正常识别报文的问题。包括在TCP取样器中新加报文长度位数文本输入框,用于填写TCP报文长度位数;获取TCP报文长度位数;获取TCP取样器中的TCP报文字符串;分配存储长度为TCP报文字符串长度与TCP报文长度位数之和的buffer:格式化后的报文长度字符串:采用循环方式,对于TCP长度与位数之间的差值自动补齐0,并拼接TCP长度;格式化后的报文长度字符串与报文内容进行组装后存入buffer;将buffer中的TCP报文内容发送给服务器。

Description

一种TCP报文定制化转换方法、装置及存储介质
技术领域
本发明涉及性能测试领域,提供了一种TCP报文定制化转换方法、装置及存储介质。
背景技术
目前性能测试过程中涉及的TCP报文测试,需要人工组装TCP报文长度及报文内容,方式1:通过人工计算报文长度,并进行组装报文长度和内容;方式2:通过tcp.jar小工具获取报文长度,人工组装报文长度和内容。
此二种方式性能测试脚本调试阶段使用时,有二个缺点:1.获取的报文长度需要人工计算并组装报文,且耗时较长;2.通过人工计算和小工具生成的报文长度,把报文长度和报文内容组装后,在调试脚本时,存在一定的机率会被服务器拒绝,报错500,未被服务器识别,需要调整报文格式重新计算报文长度来解决。
此二种方式在性能测试脚本优化阶段使用时,存在的缺点:1.在构建参数化脚本时,报文字段值的长度必须构造成原调试脚本一致的长度,否则会被服务器拒绝,参数化字段存在着局限性和特定性。
在性能测试过程中,需要模拟生产交易场景,对字段的送值与否的组合以及送值的长度大小不是固定的。报文字段值的参数化是一个必要的过程,为了更真实的模拟生产场景报文的发送,对TCP报文长度的自动计算并将报文内容进行组装是目前存在的痛点。
发明内容
本发明的目的在于解决TCP取样器无法自动组装报文的长度位数,导致在交易的时候服务器无法正常识别报文的问题。
为了实现上述目的本发明采用以下技术手段:
一种TCP报文定制化转换方法,包括以下步骤:
步骤1:在TCP取样器中新加报文长度位数文本输入框,用于填写TCP报文长度位数;
步骤2:获取TCP取样器中长度位数值,使用组装引擎进行报文组装并发送给服务器;
步骤2具体包括以下步骤:
步骤2.1:获取TCP报文长度位数;
步骤2.2:获取TCP取样器中的TCP报文字符串;
步骤2.3:分配存储长度为TCP报文字符串长度与TCP报文长度位数之和的buffer:
步骤2.4:格式化后的报文长度字符串:采用循环方式,对于TCP长度与位数之间的差值自动补齐0,并拼接TCP长度;
步骤2.5:格式化后的报文长度字符串与报文内容进行组装后存入buffer;步骤2.6:将buffer中的TCP报文内容发送给服务器。
上述技术方案中,步骤1具体包括以下步骤:
步骤1.1:在TCP取样器上新增一个文本框;
步骤1.2:在此文本框中输入TCP报文位数。
本发明还提供了一种TCP报文定制化转换装置,包括:
输入模块:在TCP取样器中新加报文长度位数文本输入框,用于填写TCP报文长度位数;
TCP报文组装模块:获取TCP取样器中长度位数值,使用组装引擎进行报文组装并发送给服务器;
TCP报文组装模块包括以下步骤:
获取TCP报文长度位数;
获取TCP取样器中的TCP报文字符串;
分配存储长度为TCP报文字符串长度与TCP报文长度位数之和的buffer:
格式化后的报文长度字符串:采用循环方式,对于TCP长度与位数之间的差值自动补齐0,并拼接TCP长度;
格式化后的报文长度字符串与报文内容进行组装后存入buffer;
将buffer中的TCP报文内容发送给服务器。
上述技术方案中,输入模块的实现包括以下步骤:
步骤1.1:在TCP取样器上新增一个文本框;
步骤1.2:在此文本框中输入TCP报文位数。
本发明还提供了一种存储介质,所述存储介质存储有一种TCP报文定制化转换的程序,处理器在执行所述程序时,实现一种TCP报文定制化转换方法。
本发明因为采用上述技术方案,因此具备以下有益效果:
1、通过获取TCP报文长度位数进行定制化TCP报文组装,在模拟生产场景报文时不用人工组装报文内容,大大减少了人工计算和脚本维护花费的成本,提高测试效率。
2、通过定制化TCP报文组装来实现生产各类场景的性能测试,使得测试模型更加符合生产模型,提供更加有效的结果来验证生产系统容量。
具体实施方式
以下将对本发明的实施例给出详细的说明。尽管本发明将结合一些具体实施方式进行阐述和说明,但需要注意的是本发明并不仅仅只局限于这些实施方式。相反,对本发明进行的修改或者等同替换,均应涵盖在本发明的权利要求范围当中。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员将理解,没有这些具体细节,本发明同样可以实施。
为了实现上述目的本发明采用以下技术手段:
一种基于性能测试工具TCP报文定制化转换方法,包括以下步骤:
步骤1:在TCP取样器中新加报文长度位数文本输入框,用于填写TCP报文长度位数;
步骤2:获取TCP取样器中长度位数值,使用组装引擎进行报文组装并发送;
如,上述步骤1具体包括以下步骤:
步骤1.1:在TCP取样器上新增一个文本框;
步骤1.2:在此文本框中输入TCP报文位数;
上述步骤2具体包括以下步骤:
步骤2.1:获取TCP报文长度位数;
步骤2.2:获取TCP取样器中的TCP报文字符串;
步骤2.3:分配存储长度为TCP报文字符串长度与TCP报文长度位数之和的buffer:
步骤2.4:格式化后的报文长度字符串:采用循环方式,对于TCP长度与位数之间的差值自动补齐0,并拼接TCP长度;
步骤2.5:格式化后的报文长度字符串与报文内容进行组装后存入buffer;
步骤2.6:将buffer中的TCP报文内容发送给服务器;
实施例
一种基于性能测试工具TCP报文定制化转换方法,包括以下步骤:
步骤1:在TCP取样器中新加PREFIX_LENGTH文本输入框,用于人工填写TCP报文长度位数,通过重写TCPConfigGui实现;
步骤2:获取TCP取样器中PREFIX_LENGTH值,通过重写TCPSampler实现;
步骤3:根据获取到的TCP报文长度位数,进行报文组装并发送,通过重写TCPClientImpl类实现。
上述步骤1具体包括以下步骤:
步骤1.1:在TCPConfigGui类中定义变量:private JTextField prefixLength;;
步骤1.2:新增创建prefixLength组件方法:private JPanelcreatePrefixLengthPanel()
步骤1.3:prefixLength的值设置方法:在TCPConfigGui.configure(TestElementelement)方法中新增代码:
prefixLength.setText(element.getPropertyAsString(TCPSampler.PREFIX_LENGTH));
步骤1.4:prefixLength的值返回方法:在TCPConfigGui.modifyTestElement(TestElement element)方法中新增代码:
prefixLength.setText(element.getPropertyAsString(TCPSampler.PREFIX_LENGTH))。
步骤2具体包括以下步骤:
步骤2.1:在TCPSampler类中新增变量:public static final String PREFIX_LENGTH=″TCPSampler.prefixLength″;
步骤2.2:新增prefixLength的值获取方法:
public int getPrefixLength()
步骤3具体包括以下步骤:
步骤3.1:获取TCPSampler类中prefixLength值:
private final int prefixLength=JMeterUtils.getPropDefault(″tcp.prefix.length″,Integer.parseInt(TCPSampler.PREFIX_LENGTH));
步骤3.2:修改TCPClientImpl类中write(OutputStream os,String s)方法,包括:获取“TCP报文字符串长度”的长度并转化为int和格式化报文长度字符串,并组装TCP报文内容。

Claims (5)

1.一种TCP报文定制化转换方法,其特征在于,包括以下步骤:
步骤1:在TCP取样器中新加报文长度位数文本输入框,用于填写TCP报文长度位数;
步骤2:获取TCP取样器中长度位数值,使用组装引擎进行报文组装并发送给服务器;
步骤2具体包括以下步骤:
步骤2.1:获取TCP报文长度位数;
步骤2.2:获取TCP取样器中的TCP报文字符串;
步骤2.3:分配存储长度为TCP报文字符串长度与TCP报文长度位数之和的buffer:
步骤2.4:格式化后的报文长度字符串:采用循环方式,对于TCP长度与位数之间的差值自动补齐0,并拼接TCP长度;
步骤2.5:格式化后的报文长度字符串与报文内容进行组装后存入buffer;步骤2.6:将buffer中的TCP报文内容发送给服务器。
2.根据权利要求1所述的一种TCP报文定制化转换方法,其特征在于,步骤1具体包括以下步骤:
步骤1.1:在TCP取样器上新增一个文本框;
步骤1.2:在此文本框中输入TCP报文位数。
3.一种TCP报文定制化转换装置,其特征在于:
输入模块:在TCP取样器中新加报文长度位数文本输入框,用于填写TCP报文长度位数;
TCP报文组装模块:获取TCP取样器中长度位数值,使用组装引擎进行报文组装并发送给服务器;
TCP报文组装模块包括以下步骤:
获取TCP报文长度位数;
获取TCP取样器中的TCP报文字符串;
分配存储长度为TCP报文字符串长度与TCP报文长度位数之和的buffer:
格式化后的报文长度字符串:采用循环方式,对于TCP长度与位数之间的差值自动补齐0,并拼接TCP长度;
格式化后的报文长度字符串与报文内容进行组装后存入buffer;
将buffer中的TCP报文内容发送给服务器。
4.根据权利要求1所述的一种TCP报文定制化转换装置,其特征在于,输入模块的实现包括以下步骤:
步骤1.1:在TCP取样器上新增一个文本框;
步骤1.2:在此文本框中输入TCP报文位数。
5.一种存储介质,其特征在于,所述存储介质存储有一种TCP报文定制化转换的程序,处理器在执行所述程序时,实现如权利要求1-2任一所述的一种TCP报文定制化转换方法。
CN202210807615.XA 2022-07-08 2022-07-08 一种tcp报文定制化转换方法、装置及存储介质 Pending CN115190055A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210807615.XA CN115190055A (zh) 2022-07-08 2022-07-08 一种tcp报文定制化转换方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210807615.XA CN115190055A (zh) 2022-07-08 2022-07-08 一种tcp报文定制化转换方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN115190055A true CN115190055A (zh) 2022-10-14

Family

ID=83517338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210807615.XA Pending CN115190055A (zh) 2022-07-08 2022-07-08 一种tcp报文定制化转换方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN115190055A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528823A (zh) * 2016-11-18 2017-03-22 中国银行股份有限公司 一种报文配置及输出方法及装置
CN107665464A (zh) * 2017-09-18 2018-02-06 平安科技(深圳)有限公司 生成征信报文的方法、装置、设备及计算机可读存储介质
CN109756498A (zh) * 2019-01-04 2019-05-14 烽火通信科技股份有限公司 通信设备上tcp协议的nat alg转换方法及系统
CN110278272A (zh) * 2019-06-24 2019-09-24 四川新网银行股份有限公司 模拟Socket请求的通用方法
CN111782882A (zh) * 2020-06-07 2020-10-16 中信银行股份有限公司 一种tcp报文转换方法、装置、系统及计算机存储介质
CN113190388A (zh) * 2021-04-13 2021-07-30 厦门路桥信息股份有限公司 Tcp接口测试方法、介质、设备及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528823A (zh) * 2016-11-18 2017-03-22 中国银行股份有限公司 一种报文配置及输出方法及装置
CN107665464A (zh) * 2017-09-18 2018-02-06 平安科技(深圳)有限公司 生成征信报文的方法、装置、设备及计算机可读存储介质
CN109756498A (zh) * 2019-01-04 2019-05-14 烽火通信科技股份有限公司 通信设备上tcp协议的nat alg转换方法及系统
CN110278272A (zh) * 2019-06-24 2019-09-24 四川新网银行股份有限公司 模拟Socket请求的通用方法
CN111782882A (zh) * 2020-06-07 2020-10-16 中信银行股份有限公司 一种tcp报文转换方法、装置、系统及计算机存储介质
CN113190388A (zh) * 2021-04-13 2021-07-30 厦门路桥信息股份有限公司 Tcp接口测试方法、介质、设备及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BUG弄潮儿: "34.TCP取样器", pages 2 - 4, Retrieved from the Internet <URL:https://blog.csdn.net/huangjinjin520/article/details/105721605?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22105721605%22%2C%22source%22%3A%22Pongpong0217%22%7D&fromshare=blogdetail> *
郑永刚;: "基于Socket协议的系统性能测试案例解析", 数字技术与应用, no. 08 *

Similar Documents

Publication Publication Date Title
CN109189684B (zh) 基于Python的接口自动化测试方法
US20060156287A1 (en) Auto conversion of tests between different functional testing tools
CN101261579A (zh) 一种实现VBScript语言跨平台应用的方法
CN109344074B (zh) 一种跨平台自动化测试方法及系统
CN114610640A (zh) 一种面向物联网可信执行环境的模糊测试方法和系统
CN111367524A (zh) 枚举类型设计方法及装置
CN111399828A (zh) 一种基于模型驱动的逻辑设备建模方法及终端
CN112187580A (zh) 网关插件自动化测试框架及测试方法
CN114138633A (zh) 基于数据驱动的软件测试的方法、装置、设备及可读介质
US8423849B2 (en) Device test data reuse for device simulation
CN114510357A (zh) 一种卫星发射场试验鉴定业务消息交互方法及系统
CN115190055A (zh) 一种tcp报文定制化转换方法、装置及存储介质
CN111506501A (zh) 一种测试指令集的生成方法、装置及电子设备
CN105302731A (zh) 网站架构升级测试系统和方法
CN113872963B (zh) 基于自由标签拼接技术的报文协议快速解析方法及系统
CN115794639A (zh) 基于流程的可视化测试及可视化仿真模拟测试系统和方法
CN112882696B (zh) 一种基于超级计算机的全要素模型训练系统
CN112069062A (zh) 一种软件测试bug模块编辑生成的方法及装置
CN111857664B (zh) 一种应用开发的方法、装置、设备及存储介质
CN112783791A (zh) 接口测试案例的生成方法及装置
CN115373655B (zh) 一种基于标准化模板的信息协议代码自动生成方法
CN111494950B (zh) 游戏语音处理方法及装置、存储介质及电子设备
CN113050925B (zh) 区块链智能合约修复方法及装置
CN112272063B (zh) 适用于卫星设备测试用的模拟器
CN114327400A (zh) 基于java动态代理实现合作方业务快速落地的敏捷开发方法及介质

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