51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 50507|回复: 170
打印 上一主题 下一主题

[原创] 使用LR的socket协议对C/S系统测试的实例

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-16 13:24:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近看到有些同学在找C/S方面的性能测试资料,似乎网上LR的资料还是web方面的居多,所以把自己之前测过的一个项目的脚本共享出来,供需要的同学们做入门参考。

首先简单说下被测系统,这是一个轻量级的即时消息通讯(IM)平台,用c++开发的,Loadrunner里面使用的是Socket协议,其实大部分C/S项目的测试都是要用Socket协议的。

下面开始介绍脚本,完整的脚本不算小,需要的tx请下载附件,下面贴的Action函数只是一个极大简化后的基本框架,或者说socket测试的基本思路。
在这个实例脚本中,主要测试的是这个IM系统的响应速度、事务处理速度、最大处理容量等指标。

脚本实现的主要功能:
1.登录
2.查询在线用户列表
    lrs_send("socket0", "buf9", LrsLastArg);
3.自定义函数从响应的数据包中分析用户列表
    void Save_RecvBuffer(char *socketID, char *SaveBuffer)
    void Gen_onlineUser(char outputUser[100][20], int *outputNum, char *LastRecvBuffer)
4.组装要发送的数据包
    lrs_set_send_buffer("socket0", msg, strlen(msg) );
5.随机向其他在线用户发消息
    lrs_send("socket0", "buf6", LrsLastArg);
6.登出

总结
   通常来讲,Socket协议的性能测试主要就是数据包的收发和数据内容的分析、处理,性能分析也是集中在数据包的发送和接收时间上。
   LR里面Socket协议不支持自动关联,所以要自己手动关联,可以用lrs_save_param_ex()等函数。
   这个例子中所收发的数据都是不加密的,如果是加密后的二进制数据包的话,就可能要用lrs_length_send()来代替lrs_send()函数了。

   写的比较简单和混乱 ,大家凑或看吧,呵呵。


//下面是简化后的脚本/////////////////////////////////////////////////

Action()
{

//集合点
lr_rendezvous("Login");

//事务点
lr_start_transaction("Login test");

//创建socket
lrs_create_socket("socket0", "TCP", "RemoteHost=10.20.5.213:8001",  LrsLastArg);

//发包
lrs_send("socket0", "buf0", LrsLastArg);

//收包
lrs_receive("socket0", "buf1", LrsLastArg);

//事务结束点
lr_end_transaction("Login", LR_AUTO);

//断开socket
lrs_disable_socket("socket0", DISABLE_SEND_RECV);
lrs_close_socket("socket0");

return 0;
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-11-16 14:01:45 | 只看该作者
这样的帖子,一定要鼓励。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-11-16 14:09:18 | 只看该作者
Z版亲顶,老感动了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-11-16 15:26:29 | 只看该作者
好贴,传说中的 SOCKEt协议

佩服  
学习了.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-11-16 15:28:19 | 只看该作者
咱也给顶了呀!谢谢老兄的慷慨!
有这方面理论网站,
把网址介绍给我们,我们会更感动的!
在这里先谢谢了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-12-4 12:02:21 | 只看该作者
很实用,正要学习这方面的呢,以后多一点这方面的东东分享一下,谢谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-12-4 16:05:25 | 只看该作者
众里寻他千百度,谢谢楼主了
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-12-4 16:39:15 | 只看该作者
xiexie 学习
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-12-4 17:05:46 | 只看该作者
不错
谢谢呀

这样的帖子少呀
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-12-11 12:03:16 | 只看该作者
顶下 不错
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-12-12 11:31:37 | 只看该作者
很好,很强大
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-12-19 13:20:51 | 只看该作者
好帖!顶之
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-12-19 17:54:39 | 只看该作者
正好想借鉴借鉴,谢谢啊!!
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-12-20 10:21:38 | 只看该作者
好东西啊,谢谢楼主了
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-12-20 17:26:00 | 只看该作者
好贴,传说中的 SOCKEt协议
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-12-28 11:12:10 | 只看该作者
为什么我不能录制 MSN 登录脚本呢
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-12-29 14:29:58 | 只看该作者
你如果知道MSN的加密算法就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-12-29 15:29:06 | 只看该作者
学习了,多谢 。支持 !
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-12-30 20:57:25 | 只看该作者
顶有技术的贴子!~~
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2008-1-2 10:01:44 | 只看该作者
顶,正需要这方面的资料,谢谢楼主了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-13 08:56 , Processed in 0.088102 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表