51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4307|回复: 10
打印 上一主题 下一主题

[原创] 急!请高手指点

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-2-1 11:15:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
LR并发50个用户运行一段时间后,出现错误
Error : Unable to save to parameter lrs_save_searched_string :. Error code : 9015.
(单用户运行正确,脚本应该没有问题)

50个用户运行几分钟后,就有部分用户退出,有的是事务失败,有的是直接出现error。
报的都是9015问题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

11#
发表于 2009-3-17 14:10:25 | 只看该作者
偶也是这样的问题,已用户数量不多,只有4个并发。
LR9。0
脚本回放是正确有,PASS了25个事情,failed有4个。
怀疑是服务器无法即时返回数据所导致。QQ:274906097

如有人解决的,请共享一下你的经历。谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-9-22 17:13:13 | 只看该作者
我也遇到这个问题了。。楼主解决了没?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-2-1 18:02:21 | 只看该作者
上边该脚本的完整代码,没有使用lrs_set_receive_option 中的EndMarker变量啊。

减少并发用户也不行,50个用户运行3分钟左右报错。10个用户5分钟左右,3个用户20分钟左右
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2016-12-30 10:59
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    8#
    发表于 2008-2-1 11:47:56 | 只看该作者
    使用了lrs_set_receive_option 中的EndMarker变量?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2008-2-1 11:36:15 | 只看该作者
    代码如下:
    Action()
    {

            char buf[4096];
            int sendLen=0;
        char strHeader[]="5A01000000000000";
            int headerLen=0;
            headerLen = strlen(strHeader);
       
    lr_start_transaction("Trans_7061");

            lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=128.32.100.112:8666", LrsLastArg);

            sprintf(buf, "%s", lr_eval_string(
                    "5A01000000000000"
                    "<?xml version=\"1.0\" ?>\n"
                    "<Root>\n"
                    "<Head>\n"
                            "<Version>01</Version>\n"
                            "<TxCode>7061</TxCode>\n"
                            "<FuncCode>000</FuncCode>\n"
                            "<Channel>0005</Channel>\n"
                            "<SubCenterId>{tstSubCenterID}</SubCenterId>\n"
                            "<NodeId>{tstNodeID}</NodeId>\n"
                            "<TellerId>{tstTellerID}</TellerId>\n"
                            "<TxSeqId>{tstTxSeqID}</TxSeqId>\n"
                            "<UserId>{tstUserID}</UserId>\n"
                            "<TxDate>20080118</TxDate>\n"
                            "<TxTime>140158</TxTime>\n"
                    "</Head>\n"
                    "<Body>\n"
                            "<UnitTellerId>{tstUnitTellerID}</UnitTellerId>\n"
                            "<BusiType>1</BusiType>\n"
                            "<SecAcct></SecAcct>\n"
                            "<SecPwdChkFlag>0</SecPwdChkFlag>"
                            "<SecAcctPwd>5H1gToMGKs8jVj548/0=</SecAcctPwd>\n"
                            "<SavAcctId>0000000100000006</SavAcctId>\n"
                            "<TxAmount>0020</TxAmount>\n"
                            "<CurCode>CNY</CurCode>\n"
                            "<DepId>{tstDepID}</DepId>\n"
                            "<SavAcctType>1</SavAcctType>\n"
                    "</Body>\n"
                    "</Root>\n")
                    );

            sendLen=strlen(buf);
            lr_log_message("len=%d", sendLen);

            sprintf(strHeader+8, "%08X", sendLen);
            lr_log_message("strHeader=%s",strHeader);

            memcpy(buf, strHeader, headerLen);
            lr_log_message("%s",buf);

            lrs_set_send_buffer("socket0",buf,strlen(buf));
            lrs_send("socket0", "buf0", LrsLastArg);
           
    lr_log_message("%d",strlen(buf));

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

        lrs_receive_ex("socket0", "buf1", "BinaryStringTerminator=\\x00", LrsLastArg);

            lrs_save_searched_string("socket0",NULL,"strResult","LB/BIN=<RespCode>","RB/BIN=</RespCode>",1,0,-1);

            if ( strncmp(lr_eval_string("{strResult}"),"E",1) == 0 ) {
                    lr_end_transaction("Trans_7061", LR_FAIL);
                    //lr_log_message("strResult=[%s]",lr_eval_string("{strResult}"));
                    lrs_save_searched_string("socket0",NULL,"strResult","LB/BIN=<RespMsg>","RB/BIN=</RespMsg>",1,0,-1);

            } else {
                    lr_end_transaction("Trans_7061", LR_PASS);
            }

            lrs_close_socket("socket0");
            return 0;
    }
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2008-2-1 11:33:30 | 只看该作者
    那出现这种问题该如何解决啊?现在工作进行不下去了。我需要测试内存泄露,用户量少或者运行时间短都不行啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-2-1 11:32:21 | 只看该作者
    原帖由 nishuangxi 于 2008-2-1 11:27 发表
    我也遇到过这个问题,应该是服务器的问题,服务器没有响应,所以才会保存失败,可以用少量用户先试试,如果没有问题,说明不是脚本的问题


    同意 。

    先用几个用户跑下试试。没问题,再增加用户。 看增加到多少用户会出现问题。

    或许会发现点问题呢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-12-30 10:59
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
    发表于 2008-2-1 11:30:15 | 只看该作者
    应该是某个查询中返回数据的接收有问题,没有将全部的数据接收完,而剩下的部分数据被留到下一个buffer的接收中,从而导致了后面接收到的buffer有问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2008-2-1 11:27:56 | 只看该作者
    我也遇到过这个问题,应该是服务器的问题,服务器没有响应,所以才会保存失败,可以用少量用户先试试,如果没有问题,说明不是脚本的问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-12-30 10:59
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2008-2-1 11:26:00 | 只看该作者
    数据的接收有问题,代码贴出来看看
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-25 23:42 , Processed in 0.077622 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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