谢邀!
今天说下脚本开发中,因测试数据长度不一致,导致报文长度动态变化的处理过程。
可能小伙伴们刚接触时不太熟悉,到网上找各个资料,却觉得网上的方法可用,但不太方便,下面我整理了我经常用到的一些处理方法,若小伙伴们觉得不太清楚的地方,还麻烦回复我,我及时修订。
条件说明:
- 测试工具:LoadRunner11.0 & Jmeter5.0。
- 协议:TCP。
- 前提条件:报文开头含定长的字符串表示报文内容的总长度,如:0004abcd,其中“0004”表示后面还有4个字符“abcd”表示报文内容。
- 约定:为描述方便,我把上述“0004”称为报文长度,“abcd”称为报文内容。
先说说LoadRunner(即C语言环境下处理过程):
1.一个脚本里只有一个TCP请求时。
思路:通过strlen函数计算报文内容的长度,再把该长度拼接报文内容的前面。
一点碎碎念:网上常看见常常通过2个及以上buffer的转存,或malloc、free函数来实现该思路,但我觉得还有优化的空间。
实现图解:
![80ca594046cb6226c327bdb08bf6e4fe.png](https://img-blog.csdnimg.cn/img_convert/80ca594046cb6226c327bdb08bf6e4fe.png)