sender通用收发包测试工具

简介:

sender工具是通用的发包工具,支持xml文件,在使用sender工具之前需要先把头文件中的结构体转化成xml文件,然后进一步使用sender工具实现发包功能。下面将详细描述此工具的使用:

 

1获取结构体对应的xml文件

Ø xml转换器功能:把文件中的一个struct结构转换成sender工具支持的xml格式保存在xml文件里,且生成的文件名为:结构体名.xml

Ø xml转换器工具使用方法:

./gen_xml.pl 结构体名称 网络序标志 header1.h header2.h ……

Ø 工具使用说明:

·结构体名称需要与头文件中结构体名一致

·网络序标志此结构体是否以网络序形式发送:1,网络序:0,主机序

·后面可以跟多个头文件,支持结构体嵌套替换、typedef替换

·工具将结构体转换为xml格式文件保存在xmldata/结构体名.xml文件中,工具将xml结构中的变量值使用环境变量进行了填充,被填充的环境变量统一保存在xmldata/结构体名.datal文件中。环境变量的格式为:结构体名_结构体字段名

·在实际使用的时候,可以修改xml文件中某个结构体变量对应的环境变量名,并可以通过在shell脚本中重新赋值的方式来设定此环境变量的值

Ø 示例:

·头文件如下:

test.h

struct my_test

{

int cmd;

int ip;

int port;

int reserved;

}

Struct response

{

Int result;

}

·使用xml转换器进行转换:

./gen_xml.pl my_test 1 test.h

·生成的xml文件以及data文件如下:

my_test.xml

==================================================================

<packet type="struct" repeat="1" value="my_test" endian="1">

<cmd type="int" value="$my_test_cmd" repeat="1"/>

<ip type="int" value="$my_test_ip" repeat="1"/>

<port type="int" value="$my_test_port" repeat="1"/>

<reserved type="int" value="$my_test_reserved" repeat="1"/>

</packet>

my_test.data

==================================================================

export my_test_cmd=

export my_test_ip=

export my_test_port=

export my_test_reserved=

==================================================================

·使用xml生成器转换:

./gen_xml.pl response 1 test.h

·生成的xml文件以及data文件如下:

response.xml

<packet type="struct" repeat="1" value="response" endian="1">

<result type="int" value="$response_result" repeat="1"/>

</packet> ==============================================================

response.data

==============================================================

export response_result=

==============================================================

·可以对上面产生的data文件中的环境变量赋值,如下:

export my_test_cmd=2

export my_test_ip=1234

export my_test_port=345

export my_test_reserved=0

 

2使用sender收发包

Ø 通过写shell脚本调用sender工具实现发包功能

Ø 具体使用方法:(假定发送my_test结构体的内容后,得到的回复是response结构体的内容)使用上面示例的结构体my_test.h,以及使用转换器生成的xml文件以及data文件(下面为脚本文件my_test.sh):

source my_test.data

SRTSERVER=10.81.15.41

PORT=20120

sender -i $SRTSERVER -p $PORT –s my_test.xml –c response.xml

Ø 在实际的使用环境中可以修改xml文件中结构体变量对应的环境变量的名字,然后在shell脚本中对此环境变量重新复制,并使用export使此环境变量生效

(baiduqa,邮箱:qablog@baidu.com)

 











本文转自百度技术51CTO博客,原文链接:http://blog.51cto.com/baidutech/744455,如需转载请自行联系原作者

相关文章
|
Java 测试技术 数据安全/隐私保护
密码强度测试工具包【Java】_测试用例
密码强度测试工具包【Java】_测试用例
367 0
密码强度测试工具包【Java】_测试用例
|
JSON 网络协议 Java
图文详解压力测试工具JMeter的安装与使用
压力测试是目前大型网站系统的设计和开发中不可或缺的环节,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。压力测试可以帮助我们及时发现系统的性能短板和瓶颈问题,在这个基础在上再进行针对性的性能优化,也可以帮助我们预估系统的承载能力,使我们能根据其做出一些应对措施。
829 0
图文详解压力测试工具JMeter的安装与使用
|
Ubuntu 前端开发 测试技术
Nginx-性能优化-ab压力测试工具
Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用。
743 0
Nginx-性能优化-ab压力测试工具
|
安全 测试技术 Apache
JMeter软件压力测试,软件压力测试工具和流程有哪些
JMeter软件压力测试,软件压力测试工具和流程有哪些
218 0
JMeter软件压力测试,软件压力测试工具和流程有哪些
|
存储 关系型数据库 MySQL
linux Command sysbench 线程压力测试工具(2)
linux Command sysbench 线程压力测试工具(2)
|
Oracle Ubuntu 关系型数据库
linux Command sysbench 线程压力测试工具(1)
linux Command sysbench 线程压力测试工具(1)
|
应用服务中间件 测试技术 Linux
linux Command ab 网站性能压力测试工具
linux Command ab 网站性能压力测试工具
|
Linux 测试技术 Serverless
Linux Command stress 进程压力测试工具
Linux Command stress 进程压力测试工具
|
测试技术 Linux Apache
压力测试工具:apache bench(ab)
压力测试工具:apache bench(ab)
303 0
压力测试工具:apache bench(ab)