51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 16630|回复: 68
打印 上一主题 下一主题

[求助] loadrunner压asp.net网站 遇到问题三个 求解决方法[愿意支付RMB800元][已失效]

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-7-3 16:43:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
服务器:双至强2.8CPU, 2G内存,Windows 2003 标准版,.Net FrameWork 2.0,IIS6.0,SQLServer 2005 标准版
LoadRunner Controller: P4 640 2G内存,Windows 2000 Server,LoadRunner 7.8+官方中文包

服务器上有asp.net网站,包括一个论坛和文章发布系统。
服务器上网站上程序直接入库1万用户供测试用:user1--usser10000

loadrunner录制用户登录,点文章链接(弹出新窗口),这些操作.

运行Controller,手动方案,“同时加载所有Vuser”,Vuser数5,开始方案,多次测试,结果每次都有1-2个用户失败,经过检查发现两个问题:

1 网站的首页default.aspx中,IE打,开查看源文件,很靠前的位置,存在如下内容:
--------------------------
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTUzMzI1MTYxN2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgoFP2N0bDAwJEhlYWRDb250ZW50JERlZmF1bHRIZWFkZXIxJERlZmF1bHRMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbgVIY3RsMDAkTWFpbkNvbnRlbnQkRGVmYXVsdDEkaW5xdWlyeTEkMjIyYzMwYTktNzU3Ni00MzA2LTk3ZTYtZGY0MTkzMGQ4NDViBUhjdGwwMCRNYWluQ29udGVudCREZWZhdWx0MSRpbnF1aXJ5MSRiOWE5NzBhYy0wYjUyLTQ5ZjEtOTlmMC05YTEyOTA4ZTc1MWEFSGN0bDAwJE1haW5Db250ZW50JERlZmF1bHQxJGlucXVpcnkxJDFmNTZhMjQ3LWZkZTktNGRjMC1hMDc4LTgyMjViY2RmMjJmNAVIY3RsMDAkTWFpbkNvbnRlbnQkRGVmYXVsdDEkaW5xdWlyeTEkMDI1MzVkYTctYjQ5NC00Mzk5LTk3NmMtMDBmMTczNTZhMWI5BUhjdGwwMCRNYWluQ29udGVudCREZWZhdWx0MSRpbnF1aXJ5MSQ1MjdjZDY4Ni04YjZmLTRjZjgtYTE2ZS1lNDc3NWJjOGY1ZmUFSGN0bDAwJE1haW5Db250ZW50JERlZmF1bHQxJGlucXVpcnkxJDY0MTIyYTQyLTI0YTItNDMyMC1iNjNiLTE1ODk5ZjFmNzk4YwVIY3RsMDAkTWFpbkNvbnRlbnQkRGVmYXVsdDEkaW5xdWlyeTEkNjRiYWYzZTUtNDE0Ny00ZWY0LTgyMzAtNjE5N2QxM2M2MjNhBUhjdGwwMCRNYWluQ29udGVudCREZWZhdWx0MSRpbnF1aXJ5MSQyNzVlNzE2YS0xMjAzLTQ2NzktYmUwMi04M2U3ODhmZWFlOTcFSGN0bDAwJE1haW5Db250ZW50JERlZmF1bHQxJGlucXVpcnkxJGU5ZmNlYjNjLTJhOTgtNGQ3OS04OTJjLThhN2ExMDQ3YjM3YjDuiOnVXoWOEqr1oTiU/RZceH7O" />
--------------------------
.net程序员解释这是保存页面上控件信息的,比如输入框,下拉菜单的状态等等。  如果手工打开IE,慢速的一次一次的刷新,每次刷新后查看源文件,都是如上内容。如果按着F5不动(快速刷新页面),就会出现如下内容:
--------------------
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTUzMzI1MTYxN2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFP2N0bDAwJEhlYWRDb250ZW50JERlZmF1bHRIZWFkZXIxJERlZmF1bHRMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbqEwBCUQGl7HaTuz68uaD59YwVyR" />
--------------------
可以看到ViewState变少了。

如果是手工操作,不管ViewState是多的状态还是少的状态,用户都能正常登录进入系统。
但是在Loadrunner中,5个用户中失败的1个或者2个,查看Loadrunner的日志,可以看到ViewState总是第二种情形,也就是说,Loadrunner中,只要ViewState中的内容变少,则这个用户无法登录成功,表现为直接跳到报错页面,日志如下:
---------------------
Action.c(27): 通知: 参数替换:参数“Siebel_Analytic_ViewState2”=“/wEPDwUKMTUzMzI1MTYxN2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFP2N0bDAwJEhlYWRDb250ZW50JERlZmF1bHRIZWFkZXIxJERlZmF1bHRMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbqEwBCUQGl7HaTuz68uaD59YwVyR”
Action.c(27): 通知: 参数替换:参数“NewParam”=“user5”
Action.c(27): “http://192.168.0.1/Default.aspx”(RelFrameId=1)的 t=1509ms: 275 个字节响应标头
Action.c(27):     HTTP/1.1 302 Found\r\n
Action.c(27):     Date: Mon, 03 Jul 2006 08:26:36 GMT\r\n
Action.c(27):     Server: Microsoft-IIS/6.0\r\n
Action.c(27):     X-Powered-By: ASP.NET\r\n
Action.c(27):     X-AspNet-Version: 2.0.50727\r\n
Action.c(27):     Location: /Error.aspx?aspxerrorpath=/Default.aspx\r\n
---------------------

这是第一个问题,希望有高手能够解决。
a 这是.net程序本身的问题,还是loadrunner的问题。
b 如果是loadrunner的问题,应该如何解决。
c 如果是.net程序问题,应该如何解决。

34楼和41楼有对这个问题更详细的说明:       移步到第三页看34楼和41楼
47楼有不是很完美的解决方法:移步到第四页看47楼

[ 本帖最后由 redsong 于 2006-7-7 11:14 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-7-3 16:48:18 | 只看该作者
第二个问题是:
脚本中有点开一个文章页面,是弹出一个新窗口,新窗口中会显示“欢迎:user1”
测试的时候,查看同一个vuser的日志,会出现登录的时候是“user200”,第二页却显示“欢迎 user999”(或者其他的)。
就是说 弹出新窗口后, 显示出来的 “欢迎 某某某”  和第一页登录的时候,是不同的用户了。
传递这个用户名 用的是session
这个问题也请教大家是.net程序还是loadrunner的问题,应该如何解决。


参数化的时候是文本文件,一列 ,user1--user10000,第一行是username
“选择下一行”:Unique
"更新值的时间":Each iteration

[ 本帖最后由 redsong 于 2006-7-4 16:54 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-7-3 16:51:21 | 只看该作者
第三个问题比较简单:
弹出新窗口时候,似乎文本检查点就不生效了。这个如何在loadrunner中设置弹出新窗口,文本检查点依然可以生效。


解决方法:
这个问题也解决了。莫名其妙,这几天屡次尝试都不中,刚刚又尝试了一次就中了。
只要把文本检查点放在新窗口的link下边即可
如图:
Submit Data是登录,Link:企业会计.... 是一个弹出新窗口的链接
我选中的"Service:Find - web_find"是文本检查点。

我第一次发现他不起作用的时候  这个是放在Submint里边的,发现失效之后,看了这个树状的图,改到了link下边,依然失效,这我就不明白了。 现在回想起来,可能是在这里存盘后,Controller中并没有感知到这里的脚本变化了。

今天重新录制了脚本,用Controller检验,是好的。

此问题解决。

[ 本帖最后由 redsong 于 2006-7-4 18:31 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-7-3 16:55:21 | 只看该作者
因为公司比较着急,所以希望有loadrunner高手可以帮助解决这个问题。公司愿意支付800元人民币作为酬谢,绝不食言。
只要能把问题1,2,3圆满解决之后立马支付,绝不以任何理由拖延。
忘记说了,呵呵,不是一人800。是第一个圆满解决的人。

呵呵,参见第四页47楼,问题一,已经用不完美的解决方法解决了。
明天请教研发经理这个解决方法是否通过,如果通过,酬谢降低为800元。如果不通过,继续保持1000元。

第三个问题已经于7月4日18:10解决。此问题失效,酬谢金额不变。

加个时间点:此贴有效性,截止到2006年7月7日 AM11:30

此贴正式失效啦.


脚本在此下载:

[ 本帖最后由 redsong 于 2006-7-7 11:14 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-7-3 17:19:29 | 只看该作者
第一个问题应该是关联没做好的缘故。
自动关联并不好用,最好是手工做关联。
楼主试试先。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-7-3 17:23:18 | 只看该作者
原帖由 xingcyx 于 2006-7-3 17:19 发表
第一个问题应该是关联没做好的缘故。
自动关联并不好用,最好是手工做关联。
楼主试试先。



loadrunner新手,“关联” 不是很理解,还希望详细解答一下。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-7-3 17:26:40 | 只看该作者
第二个问题估计是有某个地方的参数和关联没有做好,一直使用录制时的用户名,所以这样。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-7-3 17:28:42 | 只看该作者
原帖由 redsong 于 2006-7-3 17:23 发表



loadrunner新手,“关联” 不是很理解,还希望详细解答一下。



在脚本中第一次返回viewstate的那个语句前面加上web_reg_save_param函数,函数的具体用法看下帮助,很简单的。然后把后面脚本中出现的viewstate值用这个参数名代替就可以了。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-7-3 17:30:59 | 只看该作者
对于asp.net 不是lr的自动关联不好,是但asp。net 中的页面控件和数据特别多时,viewstate中需要保存的状态值和数据就特别多,手工操作时可以,用lr操作时,lr会对viewstate进行判断,但viewstate特别长时,lr会截断viewstate,这样服务器端收到页面穿回的控件的状态和值不完整,所以后面就无法进行了。这是你可以调整 关联的参数长度的大小就可以解决问题了
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-7-3 17:35:29 | 只看该作者
我觉得你主要需要做三件工作:

1. 熟悉一下lr参数的配置
2. 掌握关联的应用
3. 学会参数化及其响应的填充数据策略

你就可以做现在这件事了
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2006-7-3 17:37:06 | 只看该作者
原帖由 xingcyx 于 2006-7-3 17:28 发表



在脚本中第一次返回viewstate的那个语句前面加上web_reg_save_param函数,函数的具体用法看下帮助,很简单的。然后把后面脚本中出现的viewstate值用这个参数名代替就可以了。



实在是愚钝,似乎看懂了你的意思,但是具体怎么操作还是一头雾水,多担待。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2006-7-3 17:39:23 | 只看该作者
原帖由 shongwei 于 2006-7-3 17:30 发表
对于asp.net 不是lr的自动关联不好,是但asp。net 中的页面控件和数据特别多时,viewstate中需要保存的状态值和数据就特别多,手工操作时可以,用lr操作时,lr会对viewstate进行判断,但viewstate特别长时,lr会截 ...



看明白个大概,如果是跟楼上相同的意思。则我还是不;清楚如何操作。如果是说的web_set_max_html_param_len这里,
已经设置到足够大了。
web_set_max_html_param_len("1200000");
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-7-3 17:41:17 | 只看该作者
看了楼主的脚本,有好几处需要关联的地方,都没有做关联,因此导致脚本回放不成功。
做好关联即可。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2006-7-3 17:41:41 | 只看该作者
原帖由 fish_yy 于 2006-7-3 17:35 发表
我觉得你主要需要做三件工作:

1. 熟悉一下lr参数的配置
2. 掌握关联的应用
3. 学会参数化及其响应的填充数据策略

你就可以做现在这件事了


是啊,呵呵,真是书到用时方恨少啊。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2006-7-3 17:42:53 | 只看该作者
1.txt里的这几处地方很可能都是需要关联的:
"Value=c7e9791e-875b-4320-8e94-a9eea7ff0ea6", ENDITEM,
"Name=__EVENTVALIDATION", "Value=/wEWEgLaj8OODwLZ+5zQCALG+5zQCALWlLa+BALXycjtAQLqibj9BwK966KEBwLPs9ToCAKCqejlAgKn1d4xApzwt6wLArbV+c4CAvfolHgC2Zn54AEC7sOn8gMCuf/qnggCy4mlRQLD6K/0A1C8h4P+3ZTSMuQmHUvZuzyo9zFi"
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2006-7-3 17:45:40 | 只看该作者
请楼主辛苦一下,当问题解决后,要写明白怎么解决的哦
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2006-7-3 17:47:57 | 只看该作者
原帖由 suchboy 于 2006-7-3 17:45 发表
请楼主辛苦一下,当问题解决后,要写明白怎么解决的哦


放心吧。 一定一定。
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2006-7-3 19:15:04 | 只看该作者
感谢xingcyx老兄在QQ上无私的帮助,此贴继续。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2006-7-3 19:32:14 | 只看该作者
呵呵,客气了。
可惜本人还是能力有限呀,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2006-7-3 19:36:42 | 只看该作者
你看看log
这个和viewstate没有关系的
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 06:53 , Processed in 0.097865 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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