51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8113|回复: 25
打印 上一主题 下一主题

[原创] LR 并发2个用户时,一个用户可以通过,另一个用户就报错26377错,求达人解决

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-5-31 17:13:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
背景:脚本是一个添加一个记录的操作,对生成的记录的ID做了一个关联。
脚本单独可以运行通过,获取的关联值也正确,在controller中并发一个用户也可以通过,获取到正确的关联值,并发2个用户时,其中一个用户可以正常通过,另一个则报错26377错。
在论坛上也搜到很多该类问题,但是和我的都不太一样,自己也尝试了一些方法,但始终不得解。
在controller中log中错误是:
Action.c(796): Error -26377: No match found for the requested parameter "logicId". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 1024 bytes, use web_set_max_html_param_len to increase the parameter size  
logicId为我关联值,

我把整个页面的body返回值也做了关联,出错返回值如下:
throw 'allowScriptTagRemoting is false.';\r\n//#DWR-INSERT\r\n//#DWR-REPLY\r\ndwr.engine._remoteHandleException('18','0',{javaClassName:"com.A.common.util.except.UserException",message:"\u7528\u6237\u672A\u767B\u5F55,\u7981\u6B62\u64CD\u4F5C!"});\r\n".

正确的返回值应该如下这样:
throw 'allowScriptTagRemoting is false.';
//#DWR-INSERT
//#DWR-REPLY
dwr.engine._remoteHandleCallback('18','0',"T_LOGIC_DEVICE_STP-8a8083ea2fd2e3bc012fe806d58c1f46@T_PHY_DEVICE_COMMON-8a8083ea2fd2e3bc012fe806d5bf1f48");
请问该种情况是被测试系统问题,还是我脚本的问题啊?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2015-7-13 09:12
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    26#
    发表于 2013-7-18 15:17:39 | 只看该作者
    因为其它地方没有做关联(比如用户id),你不关联的话,虽然2个用户都登录成功,但却是使用同一个userid(录制时的userid)提交表单的,这样多半会出错
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    25#
    发表于 2011-9-16 11:41:23 | 只看该作者
    我也遇到同样的问题,头痛中,我在登录设置了检查点是没有问题的,并发时都有登录成功,也没有发现关于amf的函数呀
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24#
     楼主| 发表于 2011-6-13 13:07:40 | 只看该作者
    回复 22# xihong2004


        应该不是的,我尝试过清楚IE缓存也不行,而且LoadRunner的运行配置中,也勾选了清楚每次迭代的缓存,应该和缓存没有关系吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-6-19 15:14
  • 签到天数: 27 天

    连续签到: 1 天

    [LV.4]测试营长

    23#
    发表于 2011-6-13 10:38:45 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
    发表于 2011-6-9 17:22:27 | 只看该作者
    可能是IE缓存有关系
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
     楼主| 发表于 2011-6-9 14:14:08 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2011-6-8 16:11:49 | 只看该作者
    该问题的原因找到了,2个用户并发时,其实有一个用户应该是没有正确登陆,导致后来的操作请求失败,后来解决的办法是,在录制的登录脚本中注释掉了关于amf的函数:
                    web_custom_request("amf",
                    "URL=http://IP:port/web/messagebroker/amf",
                    "Method=POST",
                    "Resource=0",
                    "RecContentType=application/x-amf",
                    "Referer=http://IP:port/web/air/managerview/index.swf",
                    "Snapshot=t10.inf",
                    "Mode=HTML",
                    "EncType=application/x-amf",
                    "BodyBinary=\\x00\\x03\\x00\\x00\\x00\\x01\\x00\\x04null\\x00\\x02......",
                    EXTRARES,
                    "Url=../air/managerview/assets/images_wg/w_resize.png", "Referer=http://IP:port/web/air/managerview/index.swf", ENDITEM,
                    ...
                    "Url=../air/managerview/assets/gmNetResManager/swf/shanxi.swf", "Referer=http://IP:port/web/air/managerview/index.swf", ENDITEM,
                    LAST);
    但是不知道为什么去除这个函数后,就可以正常并发登陆了那?
    我用的是lr11.使用的协议的HTTP录制的,有知道原因的吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-6-2 14:09:01 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
     楼主| 发表于 2011-6-2 14:04:26 | 只看该作者
    session ID 必须做手工关联?还是可以自动关联。
    你可以试下自动关联脚本是否可以回放,另外可以手工并发登 ...
    christixo 发表于 2011-6-2 13:59


    用户等系统会获得sessionID,我用的手工关联,这个关联是没有问题的,而且每次都可以成功获得正确的值,登陆操作是没有问题,就是登陆后,并发添加记录就会有问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2011-6-2 13:59:35 | 只看该作者
    session ID 必须做手工关联?还是可以自动关联。
    你可以试下自动关联脚本是否可以回放,另外可以手工并发登录(我是指在不用的PC上),因为你打开同一个IE可能会利用用一个sessionid
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2011-6-2 12:04:57 | 只看该作者
    一点头绪都没有啦,为此还被领导海批,领导们都觉得是我的问题,我也没有办法,也找不出合理的证据说是研发程序的问题。领导们都是站着说话不腰疼的角。不知道你们在做场景并发时遇到问题时,都从哪些方面入手啊?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2011-6-2 12:01:07 | 只看该作者
    我觉得我脚本是没有问题的,并且曾怀疑是系统太慢,响应比较慢,我也加大了think time的时间,但是依然如此,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2011-6-2 11:59:30 | 只看该作者
    回复  daisy02

    在web_reg_save_param函数之前设置web_set_max_html_param_len(“5000″),试试是否是返 ...
    june871128 发表于 2011-6-2 11:42


    我尝试过,应该不是返回值太大的问题,并且另一个用户登陆时成功的,我单独做多用户并发登陆都是成功的,后台不报错,并且查看controller的log中两个用户都获得到了不同的sessionID值
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2011-6-2 11:42:14 | 只看该作者
    回复 11# daisy02

    在web_reg_save_param函数之前设置web_set_max_html_param_len(“5000″),试试是否是返回值太大有关。如果还出现这样的问题,那么你的任务就完成了,接下来解决问题的过程由开发来发挥了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2011-6-2 11:02:23 | 只看该作者
    回复 11# daisy02


        那你通过日志看第二个用户是否登录成功,以查服务器是否返回了正确的页面。
    如果是,那你可以考虑是否是你的服务器的并发能力问题,这个主要看是否是服务器
    的参数设置不当。比如tomcat服务器的最大允许线程数和最大允许连接时间是否设置合理。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2011-6-1 16:37:33 | 只看该作者
    建议可以尝试改变一下录制协议重新录制。
    用web_reg_save_param这个函数进行关联时,一般情况下建议用基于 ...
    june871128 发表于 2011-6-1 14:15



        按照你说的我又重新录制一边,跑了一遍还是存在上述问题,看来不是录制脚本的问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2011-6-1 14:15:11 | 只看该作者
    建议可以尝试改变一下录制协议重新录制。
    用web_reg_save_param这个函数进行关联时,一般情况下建议用基于脚本的URL录制,或者用HTML录制,但是勾选“仅包含明确URL的脚本”。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2011-6-1 11:08:16 | 只看该作者
    自己顶
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2011-5-31 23:41:20 | 只看该作者
    业务问题可能是2个用户连接另外一个用户并没有正常的读到数据页面
    云层 发表于 2011-5-31 19:20



        麻烦能详细指点下不,我都已经购买了你的书啦,呵呵
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-10-5 01:23 , Processed in 0.100813 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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