51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2900|回复: 8
打印 上一主题 下一主题

[原创] 请教一下关于Winsocket的问题,谢谢

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-3-15 17:02:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题一:用Winsocket协议录制脚本的时候,其过程和设置是否与http类似?
问题二:如何对其脚本进行修改和扩充?
问题三:我们在测试一个类似netstar的教学系统,该系统开了好多端口,而且主控端和被控端
                在不停的发包(没有触发条件),影响脚本录制,应该怎么办?
问题四:回放的时候为什么会很慢(其中没有think time)?

谢谢大家了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-3-15 17:06:42 | 只看该作者
我觉得使用Windsoket 最好的方法是搞清楚 Client/Server的通讯机制,然后自己编写测试脚本,这样做比较灵活,而录制的脚本比较模糊,你只能看到一大堆发送,接受的脚本语句,至于发送了什么,接受了什么都要到data.ws中去看,短的还好,长了就要头晕了。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-3-15 17:51:26 | 只看该作者
不好意思 ,没有编过,能知道一下吗?而且我在data.ws中看见的是乱码,怎么解决?谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-3-16 09:33:15 | 只看该作者
自己顶一个,大家帮帮忙呀
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-3-19 00:15:00 | 只看该作者
原帖由 guirongb 于 2006-3-15 17:06 发表
我觉得使用Windsoket 最好的方法是搞清楚 Client/Server的通讯机制,然后自己编写测试脚本,这样做比较灵活,而录制的脚本比较模糊,你只能看到一大堆发送,接受的脚本语句,至于发送了什么,接受了什么都要到dat ...


请问一下,自己写代码,怎么设置要发送的数据包啊!怎么弄要发送的数据内容谢谢!!!!!?????????????????
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-3-19 09:37:59 | 只看该作者

给各小小的例子。。楼主不要着急

[LoadRunner]性能测试工具篇之loadrunner
wendy 发表于 2005-12-20 14:16:40


性能测试工具篇之loadrunner

    各大论坛faq和实际工作经验而来,属于<性能测试工具篇之loadrunner>部分内容,内容来自51testing,谢谢作者!!!
问题解答篇
1.        监视服务器资源?
在Controller的场景运行中,在Graphs中选中System Resource Graphs下Windows Resources节点,点击Windows Resources的右键菜单项add measurements,加入你要监视的机器名称。注意监视的服务器必须启动Remote Registry Service。
2.        错误“the ip wizard does not support dhcp-enabled network cards.  your network card is either dhcp-enabled or configured with invalid settings”
这是由于ip Spoofer不支持动态获得ip
3.        找不到设置多IP运行方式
必须在Cotroller中设置Expert Mode才能设置多ip方式。
4.        解决lr编辑器中显示乱码的问题
loadrunner7.8版本中,在Virtual User Generator设置Tool->record options->advanced中support charset选项。
5.        LoadRunner7.5支持ie6的一个解决方法
在ie中,tool->internet选项,切换到高级页面,设置http1.1设置,选择通过代理连接使用http1.1
6.        修改WinSock协议生成的代码,参数化
    socket脚本的参数化数据在data.ws中.
建议同样的业务录制两遍,比较一下两个脚本中的data.ws,找找需要参数化的地方.
7.        分析结果中如何处理think time
Analysis 可以设定 Filter,Filter 就可以把 think time 过略掉。
8.        LoadRunner测试ftp模式的相关经验
什么叫做PASV mode(被动模式传送)?他是如何工作的?
FTP一般有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode)。

先假设客户端为C,服务端为S.
Port模式:
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
Pasv模式:
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。

Actions()
{
char acTest[100];
char acTest2[100];
char* pcTest3;

//生成发送的串
sprintf(acTest,"kkkhhhh\r\n";
//指定发送的串
lrs_set_send_buffer ("socket0", acTest, strlen(acTest));
//发送,由于之前运行了lrs_set_send_buffer,所以这里的"buf0"参数无效
lrs_send("socket0", "buf0", LrsLastArg);

//接收返回的串
lrs_receive("socket0", "buf1", LrsLastArg);
//把返回的串放到变量中
pcTest3=lrs_get_received_buffer ("socket0", 0, -1, NULL);
//对返回串中的数据操作
if (pcTest3[0]=='k')
{
lrs_set_send_buffer ("socket0", pcTest3, strlen(pcTest3));
lrs_send("socket0", "buf0", LrsLastArg);
lrs_receive("socket0", "buf1", LrsLastArg);
}
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-6-16 17:05:08 | 只看该作者

问楼上的,所说的第6条

第六条:修改WinSock协议生成的代码,参数化
请问比较两个脚本后,是不是两个脚本相同的部分是可进行参数化的,不同的的部分是垃圾数据马?如何确定哪些可以参数化?
谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-7-25 13:10:32 | 只看该作者

强烈关注中

最近也要测试类似的东西,希望有谁能详细说明一下啊~~!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-3-9 22:43:21 | 只看该作者
原因是录制时recv_buff接收的内容和回放时的内容不一致,系统会自动去检查。
改善方法:
在recv_buf前,设置recv buf的超市timeout时间

有两种方法:

(1)lrs_set_recv_timeout(sec, microsec);
(2)lrs_set_recv_timeout2(sec, microsec);

for example:
lrs_set_recv_timeout2(0, 0);
lrs_receive("socket0", "buf1", LrsLastArg);

具体请参考LR帮助
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-7 19:30 , Processed in 0.076926 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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