码迷,mamicode.com
首页 > Windows程序 > 详细

在LoadRunner中使用windows socket协议

时间:2015-03-22 10:33:55      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:

脚本的写法很简单,大体说来,就像把大象放进冰箱一样,总共分三步:

  第一步:把冰箱门打开。

//建立到服务端的连接
    rc =     lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=128.64.64.23:8988", LrsLastArg);
if (rc==0)

       lr_output_message("Socket  was successfully created ");

else

       lr_output_message("An error occurred while creating the socket, Error Code: %d", rc);

第二步:把大象装进去。
 
   lrs_send("socket0", "buf0", LrsLastArg);   //往"socket0"发送"buf0"中的数据


   lrs_receive("socket0", "buf1", LrsLastArg);//将"socke0"中返回的数据存放到"buf1"中


第三步:把冰箱门带上。
   
    //关闭连接
    lrs_close_socket("socket0");

  大家肯定已经看出来了,整个关键是在第二步,要把这么一头大象装到冰箱里可不是件容易的事情,我们要对传送的数据做一些处理才行。如果大家有进行过winsocket协议的脚本录制就会知道,LR会把你发送的数据包内容写到data.ws这个文件中,那么我们在此也同样应该把数据写到data.ws中去。假设我要发送的是“00100312303456”这一串字符,那么我就直接把它写到data.ws中,脚本如下:


;WSRData 2 1

send buf0 10

"00100312303456"  //注意要加""

recv buf1 128


-1

  运行脚本,可以看到执行成功。在日志信息中可以打印出发送的BUFFER和接收到的BUFFER内容。

  接下来,我们要对发送的字符串进行参数化,让脚本每次发送的字符串都不一样,怎么做呢?
方法有两种:
   1、直接参数化。在data.ws中是可以直接进行参数化的,具体操作我就不多说了。要注意的是默认的参数名称符号是尖括号(<>),和 HTTP协议的大括号({})不同(搞不懂为什么LR要把不同协议的默认参数名称符号设成不一样,这不是折腾人嘛)。脚本如下:

send buf0 106
"<string>"  //string是自定义的参数名

这种方法最简单,也容易理解。

在LoadRunner中使用windows socket协议

标签:

原文地址:http://www.cnblogs.com/w-20150101/p/4356736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!