sender通用收发包测试工具
2011-03-18 15:43
218 查看
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)
【本文转自百度测试技术空间】http://hi.baidu.com/baiduqa/blog/item/df3006ad0d9683d97cd92a0d.html
【关注百度技术沙龙】
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)
【本文转自百度测试技术空间】http://hi.baidu.com/baiduqa/blog/item/df3006ad0d9683d97cd92a0d.html
【关注百度技术沙龙】
相关文章推荐
- Web Service通用客户端和测试工具wsCaller1.1
- 【测试工具】一个将Unix时间转换为通用时间的工具
- java全排列通用工具类(未测试)
- wsCaller:Web Service通用客户端和测试工具
- 选择MYPM 解决常用测试管理工具通用问题
- 通用串口测试工具 使用方法
- 使用测试驱动开发工具rhino mocks的一些通用场景
- 使用python实现一个通用协议测试工具
- 27款Python 测试工具开源软件
- Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
- 10款常用的JAVA测试工具
- 认识QTP自动化测试工具
- linux 测试工具
- Http访问方式GET/POST的测试工具Postman
- 基于在生产环境中使用php性能测试工具xhprof的详解
- 如何使用数字货币开发工具来做智能合约的测试驱动开发
- 详解C# WebApi 接口测试工具:WebApiTestClient
- 网站压力测试工具----webbench
- Android性能测试工具Emmagee介绍
- Web网站的性能测试工具