51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3244|回复: 19
打印 上一主题 下一主题

[color=Red]winsocket的问题。希望这个论坛会有人能知道。—_—bbb[/color]

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-9-15 15:53:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

lr中选择winscoket形式录制的脚本中receive的包的作用是什么?每次运行脚本的时候不是都会再收到么?如果留在脚本里可能反而会影响回放呢。服务器可能接受到错误的反馈。比如说如果我是用123用户名登陆的,系统发一个包给我。现在我把用户名改成321,脚本中录制的包还是123用户回放时的到的server回复的包呀?参数化server回复的包还要和再此之前发出的数据包有结构体联系好像不太现实。
      希望大家探讨一下。

                                                                               ——ash
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-9-15 17:34:47 | 只看该作者
录制时的receive buffer只是一个回放成功与否的参照物。实际运行时还是会从服务器端接收数据过来没,把实际的receive buffer与录制时的receive buffer比较大小(注意:不是比较内容),如果字节数完全一致,就回放成功。
两个用户应该保持一致,包括其权限,用户名长度,登陆返回页面等等。如果都一样的话,参数化用户信息应该没问题。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-9-15 17:50:06 | 只看该作者
我44。不管怎么样先谢谢斑竹先。希望多些人谈谈自己的看法。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-9-15 21:15:32 | 只看该作者
我对receive中的信息是这么理解的:在有些情况下,是需要从server返回的response中去获得需要的信息。比如接收邮件过程,client发出消息给server,询问是否有新的邮件到达,server返回给client有没有新邮件,如果有是哪几封,然后client根据server的回应包再决定是否需要接收新的邮件,具体接收哪几封等等。
而且一般情况下都不会去参数化receive中的信息。当脚本在回放过程中如果receive中的信息(也许是信息长度)和录制过程中不一致会给一个mismatch的提示,但不会影响到脚本的运行,所以在回放中我不会太在意是否和录制的receive一样,而只会从receive中去获得我希望得的信息
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2004-9-16 10:51:58 | 只看该作者
我是这么想的:如果在server发给client的包中包含了重要的信息,(比如动态分配给用户登陆的id或是key)脚本中不参数化receive的包那就连登陆都实现不了啊!因为client反馈给server的id都是错的,根本连接不上server的。 希望大家指点。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-9-16 11:13:58 | 只看该作者
参数化receive buffer不会起作用的。那个receive buffer是不动的。
你用这个函数lrs_save_searched_string去在receive buffer 中找到你要的返回信息,并将其参数化。
如:
lrs_save_searched_string
("socket2", "buf11", "param2", "LB/BIN=\\x00", "RB/BIN=\\x03", 60,
1, -1);

lr_output_message ("param2: %s", lr_eval_string("{param2}"));
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-9-16 20:41:11 | 只看该作者
Originally posted by sunshine_luo at 2004-9-15 09:15 PM:
我对receive中的信息是这么理解的:在有些情况下,是需要从server返回的response中去获得需要的信息。比如接收邮件过程,client发出消息给server,询问是否有新的邮件到达,server返回给client有没有新邮件,如果 ...



可以通过loadrunner提供的API保存response中的相关信息,然后在下一个请求中再读出来。具体什么函数现在不记得了,明天去找找再回复你吧。:p
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2004-9-17 14:48:29 | 只看该作者
谢谢大家。这个地方的学习风气真好。^_^
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2004-9-17 15:40:16 | 只看该作者
谢谢大家。这个地方的学习风气真好。^_^
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2004-9-17 17:34:08 | 只看该作者
我是先通过函数lrs_get_received_buffer将需要的信息取出来,
再通过lrs_save_searched_string将该信息保存在参数中,
最后在send中参数化该参数
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2004-10-15 16:21:36 | 只看该作者
这儿真是高手云集阿,太感谢了
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2004-11-22 22:46:53 | 只看该作者
请问   sunshine_luo   能否详细一些,最好给出一下例子,谢谢了!!!
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2004-12-1 12:32:48 | 只看该作者
关注一下……
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2004-12-8 09:27:15 | 只看该作者

关注,UP一下

回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2004-12-8 18:07:03 | 只看该作者
很有收获,看来活用lr的库函数,威力无穷啊
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2004-12-8 18:11:14 | 只看该作者
我选择winsocket协议,但录制开始,启动程序后,会出现:
应用程序正常初始化(0xc0000005)失败。
这是什么意思?
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2004-12-9 21:17:14 | 只看该作者
能找到,LR库函数的一些例子就好了!!!
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2005-1-8 13:18:08 | 只看该作者
好,顶!
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2005-1-8 14:12:36 | 只看该作者
Originally posted by sunshine_luo at 2004-9-17 17:34:
我是先通过函数lrs_get_received_buffer将需要的信息取出来,
再通过lrs_save_searched_string将该信息保存在参数中,
最后在send中参数化该参数



你说在send中参数化该参数,是在data.ws中找到对应的send,点击右键进行参数化吗?
是如下操作吗?
第一步:
lrs_receive("socket0", "buf201", LrsLastArg);
  
lrs_save_searched_string("socket0",    LRS_LAST_RECEIVED, "Parameter1", "LB/BIN=\\x04", "RB/BIN=\\x02", 7, 0, -1);

lr_output_message("Parameter1:%s", lr_eval_string("<Parameter1>"));

第二步:

lrs_send("socket0", "buf186", LrsLastArg);
在data.ws的buf186中找到对应的信息点击右键参数化。这里的参数化是用Parameter1替换吗?
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2005-1-10 16:38:06 | 只看该作者
偶喜欢这里,顶
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-30 07:24 , Processed in 0.100806 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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