51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8123|回复: 14
打印 上一主题 下一主题

[讨论] LR虚拟用户登陆服务器后掉线现象的原因

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-12-5 12:12:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LR虚拟用户登陆服务器后掉线现象的原因可能是哪些呢?

此程序用SOCKETS录制的,利用  
for (i=0;i<=100;i++)
  {
  lrs_send("socket2", "buf29", LrsLastArg);
lr_think_time(100);
}
    return 0;
来不断的与服务器端交互。此程序的目的是实现登陆服务器成功,并停留在服务器上很长一段时间(如几天时间)而不掉线就可以。
原脚本如下:
/*********************************************************************
* Created by Mercury Interactive Windows Sockets Recorder
*
* Created on: Tue Dec 05 10:02:56
*********************************************************************/

#include "lrs.h"


Action()
{    int i;
    lrs_create_socket("socket0", "TCP", "RemoteHost=172.16.4.4:6998",  LrsLastArg);

    lrs_send("socket0", "buf0", LrsLastArg);

    lrs_receive("socket0", "buf1", LrsLastArg);

    lrs_close_socket("socket0");

    lrs_create_socket("socket1", "TCP", "RemoteHost=172.16.4.4:6998",  LrsLastArg);

    lrs_send("socket1", "buf2", LrsLastArg);

    lrs_receive("socket1", "buf3", LrsLastArg);

    lrs_close_socket("socket1");

    lrs_create_socket("socket2", "TCP", "RemoteHost=172.16.4.4:6998",  LrsLastArg);

    lrs_send("socket2", "buf4", LrsLastArg);

/*   lrs_receive("socket2", "buf5", LrsLastArg);

    lrs_create_socket("socket3", "UDP", "LocalHost=10000",  LrsLastArg);

    lrs_send("socket3", "buf6", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf7", LrsLastArg);

    lrs_send("socket3", "buf8", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf9", LrsLastArg);

    lrs_send("socket3", "buf10", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf11", LrsLastArg);

    lrs_send("socket3", "buf12", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf13", LrsLastArg);

    lrs_send("socket3", "buf14", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf15", LrsLastArg);

    lrs_receive("socket2", "buf16", LrsLastArg);

    lrs_send("socket3", "buf17", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf18", LrsLastArg);

    lrs_send("socket3", "buf19", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf20", LrsLastArg);

    lrs_send("socket3", "buf21", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf22", LrsLastArg);

    lrs_send("socket3", "buf23", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf24", LrsLastArg);

    lrs_send("socket2", "buf25", LrsLastArg);

    lrs_send("socket3", "buf26", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf27", LrsLastArg);

    lrs_receive("socket2", "buf28", LrsLastArg);

    lrs_send("socket2", "buf29", LrsLastArg);

    lrs_send("socket3", "buf30", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf31", LrsLastArg);

    lrs_send("socket2", "buf32", LrsLastArg);

    lrs_send("socket3", "buf33", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf34", LrsLastArg);

    lrs_send("socket3", "buf35", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf36", LrsLastArg);

    lrs_send("socket2", "buf37", LrsLastArg);

    lrs_send("socket3", "buf38", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf39", LrsLastArg);

    lrs_send("socket3", "buf40", "TargetSocket=172.16.4.4:10000", LrsLastArg);

    lrs_receive("socket3", "buf41", LrsLastArg);

    lrs_receive("socket2", "buf42", LrsLastArg);

    lrs_send("socket2", "buf43", LrsLastArg);
*/
  for (i=0;i<=100;i++)
  {
  lrs_send("socket2", "buf29", LrsLastArg);
lr_think_time(100);
}
    return 0;
}

data.ws文件如下:
;WSRData 2 1

send  buf0 7
        "\xff\x01\x01\x00\xff\x01\x01"

recv  buf1 20
        "\xff\xcd\x0e\x00\xff\xcd\x00\x00"
        "04.03.21.00"
        "\x00"

send  buf2 44
        "\xff\x00"
        "&"
        "\x00\xff\xcd\x02"
        "<test5>"
        "\x00\xff\xff\xff"
        "霉竪鉧萲"
        "\x00\x00\x00\x00"
        "燘1"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\xf8\x12\x00"
        "l"
        "\xe9"

recv  buf3 72
        "\xff"
        "虰"
        "\x00\xff\xcd\x00\x00"
        "\""
        "\x00\x00\x00"
        "test"
        "\x00"
        "w鉧萲"
        "\x00\x00\x00\x00"
        "燘1"
        "\x00\x00\x00\x00\x00\xc8\x00"
        "\b"
        "\x00\x18\xf8"
        "#"
        "\x00\x00\x00"
        "lr"
        "\x00\xfe\x12\x00"
        "栎"
        "\x12\x00"
        "屯屯屯屯屯屯"
        "\xc9\x00\x00\x00"
        "屯"

send  buf4 54
        "\xff"
        "60"
        "\x00\xff\xcd\x03\x00\x00\x00"
        "#"
        "\x00\x00\x00"
        "<test5>"
        "\x00"
        "梯"
        "\x12\x00"
        "0撊k"
        "\x15\x03\xff\xff\xda\x02"
        "\b"
        "\x00\x05"
        "1"
        "\x00\x00\x00\x00\x00\x00"
        "斑"
        "\x12\x00"
        "羹"
        "\x12\x00"
        "栎"
        "\x12\x00"

recv  buf5 60
        "\xff\xcd"
        "6"
        "\x00\xff\xcd\x00\x00\x00"
        "烫"
        "\xcc"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x02\xcc\x10"
        "'"
        "\x10"
        "'"
        "\x01"
        "泰"
        "\x01\x00\x00"
        "<test5>"
        "\x00"
        "梯"
        "\x12\x00"
        "0撊k"
        "\x15\x03\xff\xff\xda\x02"
        "\b"
        "\x00\x05\x02\x00\x00\x00\x00\x00\x00"

send  buf6 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf7 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf8 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf9 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf10 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf11 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf12 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf13 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf14 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf15 7
        "\x01\xa9\x01\x00\x00\x01\x00"

recv  buf16 8
        "\xff\xcd\x02\x00\xff\xcd"
        ",\b"

send  buf17 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf18 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf19 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf20 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf21 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf22 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf23 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf24 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf25 12
        "\xff"
        "6"
        "\x06\x00\xff\xcd\x01"
        "\b"
        "\x01\x01\x01\x00"

send  buf26 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf27 7
        "\x01\xa9\x01\x00\x00\x01\x00"

recv  buf28 8
        "\xff\xcd\x02\x00\xff\xcd"
        ",\b"

send  buf29 8
        "\xff"
        "6"
        "\x02\x00\xff\xcd"
        ",\b"

send  buf30 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf31 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf32 8
        "\xff"
        "6"
        "\x02\x00\xff\xcd"
        ",\b"

send  buf33 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf34 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf35 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf36 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf37 8
        "\xff"
        "6"
        "\x02\x00\xff\xcd"
        ",\b"

send  buf38 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf39 7
        "\x01\xa9\x01\x00\x00\x01\x00"

send  buf40 13
        "\x01"
        "#"
        "\x00\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00"

recv  buf41 7
        "\x01\xa9\x01\x00\x00\x01\x00"

recv  buf42 8
        "\xff\xcd\x02\x00\xff\xcd"
        ",\b"

send  buf43 8
        "\xff"
        "6"
        "\x02\x00\xff\xcd"
        ",\b"


-1
大家觉得最可能的原因是什么而导致自动掉线现象???
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-12-6 10:31:22 | 只看该作者
怎么没人来看看啊?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-12-6 10:54:33 | 只看该作者

不是没人看,而是你描述的太不清楚了

你的脚本中录制的 操作是什么?
报错的那个操作又是什么?
这些都没有描述清楚,其它人打死也不知道了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-12-8 16:18:43 | 只看该作者
谢谢
我的目的就是让我虚拟的100个用户能成功登陆到服务器上,并且不会掉线
这些都是完全自动录制的脚本
log是:
Start auto log messages stack - Iteration 1.        [MsgId: MMSG-10545]
Starting action Action.        [MsgId: MMSG-15919]
Action.c(12): lrs_create_socket(socket0, TCP, ...)        [MsgId: MMSG0]
Action.c(14): lrs_send(socket0, buf0)        [MsgId: MMSG0]
Action.c(16): lrs_receive(socket0, buf1)        [MsgId: MMSG0]
Action.c(18): lrs_close_socket(socket0)        [MsgId: MMSG0]
Action.c(20): lrs_create_socket(socket1, TCP, ...)        [MsgId: MMSG0]
Action.c(22): lrs_send(socket1, buf2)        [MsgId: MMSG0]
Action.c(24): lrs_receive(socket1, buf3)        [MsgId: MMSG0]
Action.c(26): lrs_close_socket(socket1)        [MsgId: MMSG0]
Action.c(28): lrs_create_socket(socket2, TCP, ...)        [MsgId: MMSG0]
Action.c(30): lrs_send(socket2, buf4)        [MsgId: MMSG0]
Action.c(158): lrs_send(socket2, buf29)        [MsgId: MMSG0]
Action.c(159): lr_think_time: 100.00 seconds.        [MsgId: MMSG-15948]
Action.c(158): lrs_send(socket2, buf29)        [MsgId: MMSG0]
Action.c(158): Error : socket2 - Connection reset by peer. Error code : 10054.        [MsgId: MERR10054]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-12-8 16:27:20 | 只看该作者
从日志中可以看出是在程序循环的时候,连接被服务器拒绝、重置而导致连接失败
我就没想通为什么被拒绝的
for (i=0;i<=100;i++)
  {
  lrs_send("socket2", "buf29", LrsLastArg);
  lr_think_time(100);
}
其中buf29的内容是:
send  buf29 8
        "\xff"
        "6"
        "\x02\x00\xff\xcd"
        ",\b"

为什么要选择buf29的内容。

[ 本帖最后由 charmer 于 2006-12-15 16:46 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-12-11 12:09:41 | 只看该作者
好的了,
谢谢大家对此帖的关注
问题已经解决了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-12-11 14:55:43 | 只看该作者
楼主,解决方法能否介绍下?
给遇到同样问题的朋友一点帮助?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-12-15 16:44:13 | 只看该作者
for (i=0;i<=100;i++)
  {
  lrs_send("socket2", "buf29", LrsLastArg);
lr_think_time(100);
}
因为lr_think_time(100);中设置的时间太大了,设置小点,不要让服务器端以为客户端没有任何请求而自动掉线,还有在runtime setting里面的thinktime默认是忽略的,我们要选择Replay think time中的as recorded,这样在运行的时候就不会出现把thinktime的时间忽略了
注:出现上述问题的ID是10054
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-12-15 16:55:26 | 只看该作者
good job
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-7-19 16:10:27 | 只看该作者
谢谢,LZ~~~
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-7-20 11:36:09 | 只看该作者
经常遇到这样的问题,但是定位
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-4-30 17:15:28 | 只看该作者
=。=
看过了  还是蛮有帮助的
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-5-2 00:39:44 | 只看该作者
哈哈,在服务器端把idle超时的时间设置长一些也可以做到
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-5-7 22:28:11 | 只看该作者

求教

那位高手能把QQ或MSN告诉我吗?我是新手,刚刚入门.有很多问题请教.谢谢
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2018-11-14 16:50
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    15#
    发表于 2008-8-16 15:51:20 | 只看该作者
    谢谢
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-27 08:50 , Processed in 0.082322 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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