• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在LoadRunner中使用windows socket协议

发布: 2008-10-08 14:12 | 作者: xingcyx | 来源: xingcyx的博客 | 查看: 1041次 | 进入软件测试论坛讨论

领测软件测试网 这两天写了一个winsocket的脚本,没有通过录制的方式,是直接手写的。下面贴出来和大家分享:

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

  第一步:把冰箱门打开。

//建立到服务端的连接
    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是自定义的参数名

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

  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: loadrunner LoadRunner Loadrunner loadRunner Socket windows Windows 协议 socket

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网