51Testing软件测试论坛

标题: 关联问题,我试了很多办法,现在手足无措,请大家帮我看看,或给我个提示,谢谢 [打印本页]

作者: 小声说话    时间: 2010-7-14 18:06
标题: 关联问题,我试了很多办法,现在手足无措,请大家帮我看看,或给我个提示,谢谢
系统介绍:测试某个系统提交单据,该系统一个账号只允许在一个IP地址登录。正式系统共有100左右的用户,高峰期一分钟内提交四张单据。目前的问题是上了正式系统后,系统运行一天左右就特别缓慢,然后用户反映页面打不开了。

测试前做的工作:1.我已在系统中添加了100个用户。2.启用了IP欺骗(不知道可行否?)。

操作步骤如下:
我录制完毕回放没有出错,但增加负载时,老是出现错误:
Action.c(28): 错误 -26627: 对于“http://10.8.1.135:50100/service/util/upload/index.html”,HTTP 状态代码=404 (Not Found)
我查了,该错误对应脚本是:"URL=http://10.8.1.135:50100/service/util/upload/QueryFile.do?type.appName=PCM_FIX&type.moduleName=PCM_FIX_DOC&type.docTypeName=PCM_FIX_TYPE&model.relateID=689632",
反正脚本中只要有QueryFile方法的地方都要出这错。

然后我扫描要关联的脚本后,lr发现有2处有差异,需要关联,一个是与登录人相关的ID,一个是与单据号相关的ID。
与登录人相关的ID,脚本中代码是:Name=model.applicantId", "Value=11028",但在 服务器响应 中是:model.aclId=11028'。//当然,这个11028是变化的。
lr做的关联是:
web_reg_save_param("WCSParam_Diff1",
                "LB=model.aclId=",
                "RB='",
                "Ord=1",
                "RelFrameId=1",
                "Search=Body",
                "IgnoreRedirections=Yes",
                LAST);

一个是与单据号相关的ID,脚本中与之相关的代码一处是:"Name=model.fixId", "Value=689632", ENDITEM,
还有几处是QueryFile方法处:web_custom_request("QueryFile.do_3",
                "URL=http://10.8.1.135:50100/service/util/upload/QueryFile.do?type.appName=PCM_FIX&type.moduleName=PCM_FIX_DOC&type.docTypeName=PCM_FIX_TYPE&model.relateID=689632",
lr做的关联是:
web_reg_save_param("WCSParam_Diff2",
                "LB= value=\"",
                "RB=\"",
                "Ord=5",
                "RelFrameId=1",
                "Search=Body",
                "IgnoreRedirections=Yes",
                LAST);

关联后,我再负载运行,5个用户时,没有什么问题,但逐渐增加到11个用户的时(一个虚拟ip一个vuser),系统会报错以下2个错误:
Action.c(28): 错误 -26627: 对于“http://10.8.1.135:50100/service/util/upload/index.html”,HTTP 状态代码=404 (Not Found) //这个错误和没做关联前出的错误信息一样。
Action.c(54): 错误 -26377: 找不到请求的参数“WCSParam_Diff2”的匹配项。检查请求的边界是否存在于响应数据中。此外,如果要保存的数据超过 256 个字节,请使用 web_set_max_html_param_len 增加参数大小

现在我不知道怎么办了,搜索论坛中的帖子,增加长度,增加超时时间,都不行。
开发人员希望我能够通过压力测试,协助找出系统中的问题所在。

附关联前代码如下,(我省略了一些显示字段):

Action()
{                web_submit_data("AppLogin.do",
                "Action=http://10.8.1.135:50100/service/AppLogin.do",
                "Method=POST",
                "TargetFrame=",
                "RecContentType=text/html",
                "Referer=http://10.8.1.135:50100/service/AppLogin.do?formAction=login",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=formAction", "Value=submit", ENDITEM,
                "Name=aclNo", "Value={NewParam}", ENDITEM,
                "Name=password", "Value=123456", ENDITEM,
                EXTRARES,
                LAST);
            //点击“单据创建”链接
        web_url("单据创建",
                "URL=http://10.8.1.135:50100/service/FixAutoDocument.do?formAction=baseInfo&resourceId=1100",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://10.8.1.135:50100/service/AppLogin.do",
                "Snapshot=t3.inf",
                "Mode=HTML",
                EXTRARES,
                LAST);
        web_custom_request("QueryFile.do",
                "URL=http://10.8.1.135:50100/service/util/upload/QueryFile.do?type.appName=PCM_FIX&type.moduleName=PCM_FIX_DOC&type.docTypeName=PCM_FIX_TYPE&model.relateID=689632",
                "Method=POST",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://10.8.1.135:50100/service/FixAutoDocument.do?formAction=baseInfo&resourceId=1100",
                "Snapshot=t4.inf",
                "Mode=HTML",
                "EncType=",
                LAST);   
                //点击 配件号 带出很多字段,某些字段略了
        web_submit_data("FixAutoDocument.do",
                "Action=http://10.8.1.135:50100/service/FixAutoDocument.do",
                "Method=POST",
                "TargetFrame=",
                "RecContentType=text/html",
                "Referer=http://10.8.1.135:50100/service/FixAutoDocument.do?formAction=baseInfo&resourceId=1100",
                "Snapshot=t5.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=formAction", "Value=add", ENDITEM,
                "Name=model.fixId", "Value=689632", ENDITEM, \\单据相关ID
                "Name=model.applicantId", "Value=11028", ENDITEM, \\登陆人相关ID
                "Name=model.autoSn", "Value=05A056F-0010", ENDITEM,
                (......页面中添加的很多字段,略)
                LAST);
        web_custom_request("QueryFile.do_2",
                "URL=http://10.8.1.135:50100/service/util/upload/QueryFile.do?type.appName=PCM_FIX&type.moduleName=PCM_FIX_DOC&type.docTypeName=PCM_FIX_TYPE&model.relateID=689632", \\单据相关ID
                "Method=POST",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://10.8.1.135:50100/service/FixAutoDocument.do",
                "Snapshot=t6.inf",
                "Mode=HTML",
                "EncType=",
                LAST);
        //单据填写完毕后,点击 提交 按钮
        web_url("FixAutoDocument.do_2",
                "URL=http://10.8.1.135:50100/service/FixAutoDocument.do?formAction=getNowTime",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://10.8.1.135:50100/service/FixAutoDocument.do",
                "Snapshot=t9.inf",
                "Mode=HTML",
                LAST);
        web_submit_data("FixAutoDocument.do_3",
                "Action=http://10.8.1.135:50100/service/FixAutoDocument.do",
                "Method=POST",
                "TargetFrame=",
                "RecContentType=text/html",
                "Referer=http://10.8.1.135:50100/service/FixAutoDocument.do",
                "Snapshot=t10.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=formAction", "Value=create", ENDITEM,
                "Name=model.fixId", "Value=689632", ENDITEM,
                "Name=model.applicantId", "Value=11028", ENDITEM,
                "Name=model.autoSn", "Value=05A056F-0010", ENDITEM,
                (......页面中添加的很多字段,略)
                LAST);
        web_custom_request("QueryFile.do_3",
                "URL=http://10.8.1.135:50100/service/util/upload/QueryFile.do?type.appName=PCM_FIX&type.moduleName=PCM_FIX_DOC&type.docTypeName=PCM_FIX_TYPE&model.relateID=689632",
                "Method=POST",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://10.8.1.135:50100/service/FixAutoDocument.do",
                "Snapshot=t11.inf",
                "Mode=HTML",
                "EncType=",
                LAST);
        return 0;
}
作者: tqe312    时间: 2010-7-14 23:57
帮不了你,支持你一下,希望高手快来解答。
作者: msnshow    时间: 2010-7-15 08:40
标题: 回复 1# 的帖子
是全部都报404,还是部分
作者: 小声说话    时间: 2010-7-15 09:18
10多个用户运行几分钟后,是一部分报404错误,大部分事务还是正常通过的
我还奇怪,这系统在正式上面,提交单据的用户肯定不止5个,为啥运行时间超过1天呢
作者: ziheng198688    时间: 2010-7-15 10:35
楼主可以尝试在try script的时候,把所有的ID都verify一下,可能是某些ID登录进系统的时候,有些页面不正确,所以会显示Action.c(54): 错误 -26377: 找不到请求的参数“WCSParam_Diff2”的匹配项。
作者: aman_cao    时间: 2010-7-15 12:55
LR自动关联还是有问题,关联的不正确 要根据自己的业务去手动关联。
作者: peag    时间: 2010-7-20 14:35
URL=http://10.8.1.135:50100/service/util/upload/QueryFile.do?type.appName=PCM_FIX&type.moduleName=PCM_FIX_DOC&type.docTypeName=PCM_FIX_TYPE&model.relateID=689632", \\单据相关ID
作者: peag    时间: 2010-7-20 14:36
左边界设置不对吧?后面的是根据这个出来的,你可以关联上面的后后面使用这参数就行了吧
作者: 云层    时间: 2010-7-20 16:35
先确认一个用户回放脚本能够正确关联到id并且操作成功,再考虑多用户
随着用户的负载,系统可能会无法及时返回id,导致关联失败的
作者: 放任无奈    时间: 2010-7-20 17:12
原帖由 云层 于 2010-7-20 16:35 发表
先确认一个用户回放脚本能够正确关联到id并且操作成功,再考虑多用户
随着用户的负载,系统可能会无法及时返回id,导致关联失败的


请教一下
我们知道需要关联的这个id是在server的response中返回的
如果真的是这种原因(系统无法及时返回id)
那么实际场景中会遇到什么现象

比如说我点新建按钮
正常来说服务器返回的数据中是有id号的
那如果这个无法及时返回
我遇到的情况会是 响应时间超长,请求失败么?
作者: lxlye    时间: 2010-7-22 10:31
目前也遇到关联问题,关注一下,希望各位高手尽快解决。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2