自行控制LoadRunner的socket协议性能测试

发表于:2012-5-04 13:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:黄晓波 旋次    来源:51Testing软件测试网原创

  使用LoadRunner录制windows application,启动一个新的SocketTool.exe,创建一个TCP Client,链接刚才启动的服务器,钩选上显示十六进制值,发送313233,别写空格进去,点击发送数据,然后再在服务器端发送点数据回客户端,最后客户端点击断开,脚本就录制完成了。

  脚本就四句:

lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=server:60000", LrsLastArg);
lrs_send("socket0", "buf0", LrsLastArg);
lrs_receive("socket0", "buf1", LrsLastArg);
lrs_close_socket("socket0");

  数据文件data.ws:

;WSRData 2 1
send  buf0 3
 "123"
recv  buf1 3
 "456"
-1

  后面的脚本就在此基础上修改了。

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/56/n-811856.html

  5、发送自己定义的数据包

  建立链接我就不写了,发送自己定义的数据包:

lrs_set_send_buffer("socket0", (char *)cOut, strlen(cLine)/2 );
lrs_send("socket0", "buf0", LrsLastArg);

  说明:

  (1)(char *)cOut 是因为函数的参数定义

  int lrs_set_send_buffer ( char *s_desc, char *buffer, int size );

  (2)strlen(cLine)/2不可写为strlen(cOut),一定要牢牢记住这里不是发送的字符串,而是一个二进制数据包;

  6、接收数据包到自定义缓冲区

  代码:

char *BufVal;              //记录接收到的数据包
int intGetLen=0;           //记录接收数据包的长度

lrs_receive_ex("socket0", "buf1", "NumberOfBytesToRecv=4", LrsLastArg);
lrs_get_last_received_buffer("socket0",&BufVal, &intGetLen);

  说明:

  (1)intGetLen必须定义为int,而不可是long,为啥?函数定义决定的:

  int lrs_get_last_received_buffer ( char *s_desc, char **data, int *size );

  (2)"NumberOfBytesToRecv=4"此处loadrunner的帮助中例子写错了,当时我照着粘贴下来,死活报那个恐怖的<memory violation : Exception ACCESS_VIOLATION received>,后来仔细看了看,明白了,例子上NumberOfBytesToRecv前面多了一个空格,删除了就可以了;

  (3)定义接收数据包长度,这个参数只适应于TCP协议,UDP就不行了

  ……

  查看全文请点击下载:http://www.51testing.com/html/56/n-811856.html

  版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • mehll1213
    2015-7-10 11:28:44

    没有这个运行的脚本啊,里面的代码有些遗漏,而且有些地方好像是错的,求可以正常运行的脚本代码,谢谢

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号