google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

[求助] 急!请高手指点

急!请高手指点


LR并发50个用户运行一段时间后,出现错误
Error : Unable to save to parameter lrs_save_searched_string :. Error code : 9015.
(单用户运行正确,脚本应该没有问题)

50个用户运行几分钟后,就有部分用户退出,有的是事务失败,有的是直接出现error。
报的都是9015问题

TOP

数据的接收有问题,代码贴出来看看

TOP

我也遇到过这个问题,应该是服务器的问题,服务器没有响应,所以才会保存失败,可以用少量用户先试试,如果没有问题,说明不是脚本的问题

TOP

应该是某个查询中返回数据的接收有问题,没有将全部的数据接收完,而剩下的部分数据被留到下一个buffer的接收中,从而导致了后面接收到的buffer有问题

TOP

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

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

或许会发现点问题呢!
好好学习,天天向上!

TOP

那出现这种问题该如何解决啊?现在工作进行不下去了。我需要测试内存泄露,用户量少或者运行时间短都不行啊

TOP

代码如下:
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;
}

TOP

使用了lrs_set_receive_option 中的EndMarker变量?

TOP

上边该脚本的完整代码,没有使用lrs_set_receive_option 中的EndMarker变量啊。

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

TOP

我也遇到这个问题了。。楼主解决了没?

TOP

 
当前时区 GMT+8, 现在时间是 2008-11-23 18:13Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹