51Testing软件测试论坛

标题: 脚本回放时出现了错误,是为什么 [打印本页]

作者: q789789q    时间: 2008-4-21 09:35
标题: 脚本回放时出现了错误,是为什么
Action.c(43): 错误 -26377: 找不到请求的参数“Siebel_Analytic_ViewState3”的匹配项。检查请求的边界是否存在于响应数据中。此外,如果要保存的数据超过 1024 个字节,请使用 web_set_max_html_param_len 增加参数大小          [MsgId: MERR-26377]



Action.c(32): 正在下载资源“”(

由参数编号 62 指定)          [MsgId: MMSG-26577]
Action.c(32): 警告 -26378: 未接收到任何具有“RelFrameID=1.1”的缓冲区。指定此 RelFrameID 的

web_reg_save_param/reg_find 请求将作为“找不到”处理          [MsgId: MWAR-26378]
Action.c(32): 错误 -26377: 找不到请求的参数“Siebel_Analytic_ViewState3”的匹配项。检查请求

的边界是否存在于响应数据中。此外,如果要保存的数据超过 1024 个字节,请使用

web_set_max_html_param_len 增加参数大小          [MsgId: MERR-26377]
Action.c(32): web_submit_form("Default.aspx") 最高严重级别为“ERROR”,40330 个正文字节,

4406 个标头字节          [MsgId: MMSG-26388]
正在结束操作 Action。
正在结束迭代 1。
正在结束 Vuser...
正在开始操作 vuser_end。
正在结束操作 vuser_end。
Vuser 已终止。

[ 本帖最后由 q789789q 于 2008-4-23 21:45 编辑 ]
作者: iori    时间: 2008-4-21 10:25
这个问题应该是做关联的时候,左右边界的问题,你打开需要关联的那个页面,然后在其中找到需要的关联信息,然后重新增加左右边界,应该就可以了
作者: q789789q    时间: 2008-4-21 10:41
还是找不到具体的错误,你能帮我一下吗?我的QQ:93440105,谢谢
作者: iori    时间: 2008-4-21 11:02
你试试改为web_set_max_html_param_len("3348");
作者: q789789q    时间: 2008-4-21 11:23
还是提示同样的错误,能远程帮我看看吗?弄了一下早上也不行
作者: iori    时间: 2008-4-21 12:06
脚本的问题,把代码贴上来
作者: q789789q    时间: 2008-4-21 12:51
vuser_init()
{

        web_set_max_html_param_len("1024");

        web_url("yearreport",
                "URL=http://192.168.100.201/yearreport",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t1.inf",
                "Mode=HTML",
                EXTRARES,

        web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\" value=\"",
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1.1",
                LAST);

        web_submit_form("Default.aspx",
                "Snapshot=t2.inf",
                ITEMDATA,

                "Url=images/qq_bottomright.gif", "Referer=http://192.168.100.201/yearreport/MainLeft.aspx", ENDITEM,
                LAST);

        return 0;
}

[ 本帖最后由 q789789q 于 2008-4-23 10:26 编辑 ]
作者: q789789q    时间: 2008-4-21 13:07
iori ,再把我看看,会不会源代码的问题,我一登录后,把页面直接关了,脚本不会出错,如果,在里面操作后,那么脚本就有出现问题!
作者: iori    时间: 2008-4-21 13:34
从你的脚本中没有看出什么问题,但是问题肯定在这里
                "LB/IC=ViewState\" value=\"",
                "RB/IC=\"",

你再看一下页面的源文件,看看左右边界是否有问题,仔细点找
你把LOG发上来,咱们一起找找问题
作者: q789789q    时间: 2008-4-21 13:55
****** Start Log Message ******
Web Recorder version : 8.1.0.1292
Recording Mode: HTML-based script
Correlation is enabled system wide
Not recording headers
Not excluding content types
Do not record this content types as a resource:
        text/html
        text/xml
Reset context between actions
Record non-HTML elements in current HTML function
Protocol Type: Multi-QTWeb

$$$$$$ End Log Message $$$$$$

Code generation version: 8.1.0.576

****** Request Header For Transaction With Id 66 ******
GET /yearreport HTTP/1.1
Accept: */*
Accept-Language: en-us,zh-cn;q=0.5
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: 192.168.100.201
Connection: Keep-Alive


$$$$$$ Request Header For Transaction With Id 66 Ended $$$$$$

****** Response Header For Transaction With Id 66 ******
HTTP/1.1 301 Moved Permanently
Content-Length: 157
Content-Type: text/html
Location: http://192.168.100.201/yearreport/
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Mon, 21 Apr 2008 01:02:53 GMT

[ 本帖最后由 q789789q 于 2008-4-23 10:24 编辑 ]
作者: iori    时间: 2008-4-21 14:30
你这个日志怎么感觉不对啊
作者: q789789q    时间: 2008-4-21 14:55
老哥,你回家有上网吗?晚上上QQ帮我看,我的QQ:93440105
谢了
作者: iori    时间: 2008-4-21 16:47
代码全放上来了?你设置关联后怎么没有取关联后的参数?
作者: lzc8800    时间: 2008-4-21 17:02
把web_set_max_html_param_len("1024")值设大点.
作者: lzc8800    时间: 2008-4-21 17:07
检查页面上是否有其它的错误提示.
作者: q789789q    时间: 2008-4-21 17:13
把web_set_max_html_param_len("1024")值设大点.

我设成10000,还是不行,

页面没有其它错误呢


关联的地方,我不太会用
作者: q789789q    时间: 2008-4-22 09:13
Action.c(32): 错误 -26377: 找不到请求的参数“Siebel_Analytic_ViewState3”的匹配项。检查请求的边界是否存在于响应数据中。此外,如果要保存的数据超过 10000 个字节,请使用 web_set_max_html_param_len 增加参数大小          [MsgId: MERR-26377]
Action.c(32): web_submit_form("Default.aspx") 最高严重级别为“ERROR”,40323 个正文字节,4405 个标头字节          [MsgId: MMSG-26388]


我查了资料,他们说都是:
        web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\" , value=\""
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1.1",
                LAST);
        web_submit_data("MainTop.aspx",
                "Action=http://192.168.100.201/yearreport/MainTop.aspx",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://192.168.100.201/yearreport/MainTop.aspx",
                "Snapshot=t38.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=__EVENTTARGET", "Value=ctl00", ENDITEM,
                "Name=__EVENTARGUMENT", "Value=", ENDITEM,
                "Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState3}", ENDITEM,
                "Name=__EVENTVALIDATION", "Value=/wEWAgLyvPu4CQKhwImNC71vVjxAJ0Xc2EzUPTEkYqRD+OBx", ENDITEM,
                LAST);

好象这里面没有设置好.谁帮我再看看

[ 本帖最后由 q789789q 于 2008-4-23 10:24 编辑 ]
作者: iori    时间: 2008-4-22 10:05
web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\" , value=\""
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1.1",
                LAST);

"LB/IC=ViewState\" , value=\"" 把这个逗号去掉

改成:
web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\" value=\"",
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1.1",
                LAST);

[ 本帖最后由 iori 于 2008-4-22 10:10 编辑 ]
作者: q789789q    时间: 2008-4-22 10:24
web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\"  value=\""
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1.1",
                LAST);

去掉,我试了还是一样的错误,
我把  "RelFrameId=1.1", 改成  "RelFrameId=1",   提示不一样的错误:
Action.c(58): 错误 -26612: 对于“http://192.168.100.201/yearreport/MainTop.aspx”,HTTP 状态代码=500 (Internal Server Error)          [MsgId: MERR-26612]
作者: q789789q    时间: 2008-4-22 10:28
还是不对

[ 本帖最后由 q789789q 于 2008-4-23 08:43 编辑 ]
作者: q789789q    时间: 2008-4-22 10:30
我在网上,找了一下,有相关,不过好象也没说怎么改:

LoadRunner 如何對 ASP.NET ViewState 做關聯?

ViewState 是 ASP.NET 用來存放網頁上伺服器端控制項 (server control) 狀態的一個隱藏欄位,所以當你檢視你的 ASP.NET 網頁原始檔,會發現一個 "__VIEWSTATE" 的隱藏欄位,其值是一堆看不懂的字元,就如同下列的例子。

value="dDwxNTgzOTU2ODA7dDw7bDxpPDE+Oz47bD
x0PDtsPGk8MT47PjtsPHQ8QDA8cDxwPGw8UGFnZU
NvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZ
Ul0ZW1Db3VudDtEYXRhS2V5czs+O2w8aTwxPjtpPD
g+O2k8OD47bDw+Oz4+Oz47Ozs7Ozs7OztAMDxAMD
xwPGw8SGVhZGVyVGV4dDtEYXRhRmllbGQ7U29yd
EV4cHJlc3Npb247UmVhZE9ubHk7PjtsPHB1Yl9pZDtwd=="/>

當使用 LoadRunner VuGen 錄製含有 ViewState 的 ASP.NET網站應用時,就會需要做關聯 (Correlation)。

其關聯的範例腳本如下:

web_reg_save_param("MyViewState","LB=\"__VIEWSTATE\" value=\"","RB=\"",LAST);

假如 ASP.NET 網頁上的控制項一多,ViewState 會變得很大,所以通常也會需要使用 web_set_max_html_param_len 函數將參數 (Parameter) 的長度給適度地放大:

web_set_max_html_param_len("2048");

其他關於 ViewState 的參考資料:ViewState: All You Wanted to Know


首先,要设置web_set_max_html_param_len("900000");
因为ViewState可能会很大!
其次,记录下ViewState到某个参数,注意"LB/IC=ViewState\",何必在意ViewState1还是ViewState2呢
web_reg_save_param("MyTransaction_ViewState6",
                "LB/IC=ViewState\" value=\"",
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1",
                LAST);

然后把整个一个参数传递到ViewState需要的地方
web_submit_data("ThisIsMyPage.aspx_6",
                "Action=http://abcd.aspx?dskfks=-sdfksd",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://sdfkkskdfksdfkks.aspx",
                "Snapshot=t12.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=__VIEWSTATE",
                "Value={MyTransaction_ViewState6}",               
                ENDITEM,
                "Name=MKTDropDown", "Value=U647110", ENDITEM,
                "Name=GetLog", "Value=Get Log", ENDITEM,
                EXTRARES,
                LAST);
作者: iori    时间: 2008-4-22 10:37
web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\" value=\"", //最后加上逗号~~~~~
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1",
                LAST);
另外把你的replay log放上来
作者: q789789q    时间: 2008-4-22 10:40
web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\" value=\"", //最后加上逗号~~~~~
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1",
                LAST);
这些我弄好了,还是一样
Action.c(32): 警告 -26378: 未接收到任何具有“RelFrameID=1.1”的缓冲区。指定此 RelFrameID 的 web_reg_save_param/reg_find 请求将作为“找不到”处理          [MsgId: MWAR-26378]
Action.c(32): 错误 -26377: 找不到请求的参数“Siebel_Analytic_ViewState3”的匹配项。检查请求的边界是否存在于响应数据中。此外,如果要保存的数据超过 1024 个字节,请使用 web_set_max_html_param_len 增加参数大小          [MsgId: MERR-26377]
Action.c(32): web_submit_form("Default.aspx") 最高严重级别为“ERROR”,40321 个正文字节,4405 个标头字节          [MsgId: MMSG-26388]
正在结束操作 Action。
正在结束迭代 1。
正在结束 Vuser...
正在开始操作 vuser_end。
正在结束操作 vuser_end。
Vuser 已终止。

[ 本帖最后由 q789789q 于 2008-4-22 12:39 编辑 ]
作者: iori    时间: 2008-4-22 11:11
你这个关联是手动加上的吗?你确认这里是否需要关联?你去掉试试
作者: q789789q    时间: 2008-4-22 11:18
web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\" value=\"",
                "RB/IC=\"",
                "Ord=1",
                "RelFrameId=1.1",
                "Search=Body",
                LAST);

全部去掉后,出现了Action.c(53): 错误 -26612: 对于“http://192.168.100.201/yearreport/MainTop.aspx”,HTTP 状态代码=500 (Internal Server Error)          [MsgId: MERR-26612]
Action.c(53): web_submit_data("MainTop.aspx") 最高严重级别为“ERROR”,6520 个正文字节,241 个标头字节          [MsgId: MMSG-26388]
正在结束操作 Action。

不是我加的,它自己加的
作者: q789789q    时间: 2008-4-22 11:20
我把,:下面2个全去掉,就脚本正常了

1.
        web_reg_save_param("Siebel_Analytic_ViewState3",
                "LB/IC=ViewState\" , value=\"",
                "RB/IC=\"",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1",
                LAST);


2.
        web_submit_data("MainTop.aspx",
                "Action=http://192.168.100.201/yearreport/MainTop.aspx",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://192.168.100.201/yearreport/MainTop.aspx",
                "Snapshot=t38.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=__EVENTTARGET", "Value=ctl00", ENDITEM,
                "Name=__EVENTARGUMENT", "Value=", ENDITEM,
                "Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState3}", ENDITEM,
                "Name=__EVENTVALIDATION", "Value=/wEWAgLyvPu4CQKhwImNC71vVjxAJ0Xc2EzUPTEkYqRD+OBx", ENDITEM,
   
                LAST);
作者: iori    时间: 2008-4-22 11:25
然后你自动关联一下,scan action for correllations--correlations results选择correlate

[ 本帖最后由 iori 于 2008-4-22 11:27 编辑 ]
作者: iori    时间: 2008-4-22 11:30
标题: 回复 26# 的帖子
这个MainTop.aspx是什么页面?主页?脚本中不需要?
作者: q789789q    时间: 2008-4-22 11:34
是把这2个       
web_reg_save_param("Siebel_Analytic_ViewState3",
web_submit_data("MainTop.aspx",
的内容全部去掉,再关联,还是只去掉第一个

去掉后scan action for correllations--correlations results选择correlate?这个在什么地方操作
作者: q789789q    时间: 2008-4-22 11:43
这个MainTop.aspx是什么页面?主页?脚本中不需要?

MainTop.aspx是置顶页面,做为主页的一部分,我点注销的时候,会调用到它
作者: iori    时间: 2008-4-22 12:31
标题: 回复 29# 的帖子
去掉web_reg_save_param这个函数,回放脚本,然后ctrl+F8,出现需要关联的参数,右键选择correlate
作者: q789789q    时间: 2008-4-22 12:52
还是不行,老哥,我快晕了
作者: AJan1000    时间: 2008-4-22 13:15
原帖由 q789789q 于 2008-4-22 11:34 发表
是把这2个       
web_reg_save_param("Siebel_Analytic_ViewState3",
web_submit_data("MainTop.aspx",
的内容全部去掉,再关联,还是只去掉第一个

去掉后scan action for correllations--correlations results选择 ...


老兄,你那个ViewState的关联时是LR8.1自动关联的,一般不需要的。
你现在先把下面图片当中的复选项去掉,然后你再重新录制一次。
再运行试试。
作者: q789789q    时间: 2008-4-22 13:24
我按你说的做了,可是还是出现:
Action.c(46): 错误 -27995: 找不到请求的链接(“文本=工作情况年报表”)          [MsgId: MERR-27995]
Action.c(46): web_link("工作情况年报表") 最高严重级别为“ERROR”,0 个正文字节,0 个标头字节          [MsgId: MMSG-26388]
作者: AJan1000    时间: 2008-4-22 13:43
原帖由 q789789q 于 2008-4-22 13:24 发表
我按你说的做了,可是还是出现:
Action.c(46): 错误 -27995: 找不到请求的链接(“文本=工作情况年报表”)          [MsgId: MERR-27995]
Action.c(46): web_link("工作情况年报表") 最高严重级别为“ERROR”,0 个正文字节 ...


(“文本=工作情况年报表”)  ???“文本=”?是不是Web_Link()当中的参数被你改掉了,是不是要改为“text=工作情况年报表”。
比如你之前代码当中的web_link("常用工作指标",
                "Text=常用工作指标",
                "Snapshot=t35.inf",
                EXTRARES,
                "Url=/yearreport/images/button.gif", "Referer=http://192.168.100.201/yearreport/Modules/ZhiBiao/ZhiBiao.aspx?biaoji=1", ENDITEM, LAST);
应该是能正常通过的巴,和之前的这个对比一下看看
作者: q789789q    时间: 2008-4-22 14:02
我回放后的脚本跟,原来录制的脚本比对了,是一样的
作者: mojinde    时间: 2008-6-7 19:33
ViewState关联是比较麻烦,怎么就没有下文了?
作者: shenqunqun    时间: 2009-5-21 16:27
怎么没有人回复了呢,,我现在也是一样的问题,有人知道怎么解决不?




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