51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4760|回复: 4
打印 上一主题 下一主题

[原创] 大家公议Win socket测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-1-17 14:40:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前几天用LR win socket 协议测试了一个证券交易系统,把其中的遇到的一个问题发出来给大家看看,如有类似问题可能会有所帮助,也希望大家把测试这个协议的问题发出来,让大家交流。win socket协议的收数据包函数有个属性就是每次收报如果发现与录制时buf中的数据不一致,他就会等待10秒中,但是实际你的系统每次同一请求的响应信息也是不同的,所以如果每次等待10秒超时的话会导致发送请求的速度很慢,对服务器发压能力下降,影响测试。我的解决办法是不用lrs_receive()来做,而是通过lrs_receive_ex()来接收,lrs_receive_ex()可以规定接收结束的特征字符串,只要响应数据包里一出现事先规定的字符串,立即结束该函数,不再等待。然后通过加入合适的think time。还有一种实现方法是用lrs_set_recv_timeout(); 函数,但是谁能告诉我如果我要把超时时间规定在2秒到3秒之间该怎么做?应为lrs_receive()默认是10秒超时。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-1-17 15:33:50 | 只看该作者
使用WINSOCK协议后,接受到的数据量非常大怎么办?回放脚本LR就很慢,或者无响应?怎么办啊
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-1-17 16:27:18 | 只看该作者
如果这个请求非必须的,那你可以去掉,也可以用lrs_receive_ex()函数,通过规定结束参数,接收到特定结束符为止的数据包。如果你的这个性能测试点必须发送这个请求,那他就是得这样,没办法
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-1-17 16:34:38 | 只看该作者
我们在做性能测试的时候,一般LR是不打印日志的,而是相应的部门进行监控,如果LR输出日志的话,测试速度会降低的,用controller进行监控,然后其他的部门输出日志,最后分析
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-1-17 16:42:19 | 只看该作者
1,如果想设置超时时间可以考虑用:lrs_set_recv_timeout和lrs_set_recv_timeout2这两个函数。

2,如果想设置接收数据中,到哪一个字符就停止接收,可以考虑到:
lrs_set_receive_option 中的EndMarker变量。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 20:25 , Processed in 0.111121 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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