51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: redsong
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

61#
发表于 2006-7-7 10:35:54 | 只看该作者
问题一:同意Koffer 的观点使用web_reg_save_param()进行关联,对于楼主关心的这个值长或短,可以在这个函数前加一个web_set_max_html_param_len (const char *length )函数来设置大小,以摆脱默认viewstate值大小限制

问题二:如楼主所说,手工测试,显示没有问题,这说明程序没有出错,是脚本的总题.楼主给的出错信息,不清淅,请详细说明,描述如下,最初录制脚本,查看r的日志,会出现登录的时候是“user???”,第二页显示“欢迎 user?”;脚本参数化后,第二个Vuser日志显示是user????,第三个Vuser日志显示是user????.   建议把脚本相关部分贴上来
怀疑此问题,可能脚本某处有隐含值需要进行关联,显示才会正确
回复 支持 反对

使用道具 举报

该用户从未签到

62#
 楼主| 发表于 2006-7-7 10:47:18 | 只看该作者
最后一贴.还有一个小时就失效了。让我把这个帖子完成吧。

首先感谢所有关注和回帖的兄弟们,感谢你们对问题的认真回答,感谢你们独到的分析,感谢你们在QQ上耽误自己下班的时间陪着我解决问题,其中的兄弟们包括  xingcyx  shongwei fish_yy suchboy ilovejolly Zee kernzhang xiao_jie98 AlanStone lbzhong ldneliza yuezhiyin Koffer swordsman lotus

接着来说问题:

第一个问题:
根据1楼 34楼 41楼的叙述,问题的情形大家都清楚了,不在重复,多数兄弟都判断是关联的问题,就是我没有对viewstate设置好手动关联。在发贴之前我还不知道什么是关联,不过现在已经知道了。关联就是服务器给浏览器端传过来的数据,如果有不同的话,loadrunner的虚拟用户,可以用把这些不同的值返回给服务器。
但是我在41楼贴出来的内容 和 4楼贴出的脚本中已经包含的内容:
----------------------------
        web_reg_save_param("Siebel_Analytic_ViewState2",
                "LB/IC=ViewState\" value=\"",
                "RB/IC=\"",
                "Ord=1",
                "RelFrameId=1",
                "Search=Body",
                LAST);

"Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState2}", ENDITEM,
----------------------------
足够说明:第一个问题和“关联”没有关系
所以在41楼的最后两句,问题被精简成:
-----------------------
IE手工操作的时候 如果刷新出来viewstate的内容少,则能够正常登录
loadrunner压的时候 如果vuser(模仿IE)刷新出来的viewstate内容少,则不能够正常登录

-----------------------
之后公司的一个作技术的同事(互联网上非常出名哦)一句话给了我一个思路

按照他的思路,才有了47楼的不完美解决方法,内容如下:
-----------------------------------
第一个问题暂时解决鸟   过程如下。

脚本中:

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

全部注释掉

同时
"Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState2}", ENDITEM,
替换为
"Name=__VIEWSTATE", "Value=/wEPDwUKMTUzMzI1MTYxN2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgoFP2N0bDAwJEhlYWRDb250ZW50JERlZmF1bHRIZWFkZXIxJERlZmF1bHRMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbgVIY3RsMDAkTWFpbkNvbnRlbnQkRGVmYXVsdDEkaW5xdWlyeTEkMjIyYzMwYTktNzU3Ni00MzA2LTk3ZTYtZGY0MTkzMGQ4NDViBUhjdGwwMCRNYWluQ29udGVudCREZWZhdWx0MSRpbnF1aXJ5MSRiOWE5NzBhYy0wYjUyLTQ5ZjEtOTlmMC05YTEyOTA4ZTc1MWEFSGN0bDAwJE1haW5Db250ZW50JERlZmF1bHQxJGlucXVpcnkxJDFmNTZhMjQ3LWZkZTktNGRjMC1hMDc4LTgyMjViY2RmMjJmNAVIY3RsMDAkTWFpbkNvbnRlbnQkRGVmYXVsdDEkaW5xdWlyeTEkMDI1MzVkYTctYjQ5NC00Mzk5LTk3NmMtMDBmMTczNTZhMWI5BUhjdGwwMCRNYWluQ29udGVudCREZWZhdWx0MSRpbnF1aXJ5MSQ1MjdjZDY4Ni04YjZmLTRjZjgtYTE2ZS1lNDc3NWJjOGY1ZmUFSGN0bDAwJE1haW5Db250ZW50JERlZmF1bHQxJGlucXVpcnkxJDY0MTIyYTQyLTI0YTItNDMyMC1iNjNiLTE1ODk5ZjFmNzk4YwVIY3RsMDAkTWFpbkNvbnRlbnQkRGVmYXVsdDEkaW5xdWlyeTEkNjRiYWYzZTUtNDE0Ny00ZWY0LTgyMzAtNjE5N2QxM2M2MjNhBUhjdGwwMCRNYWluQ29udGVudCREZWZhdWx0MSRpbnF1aXJ5MSQyNzVlNzE2YS0xMjAzLTQ2NzktYmUwMi04M2U3ODhmZWFlOTcFSGN0bDAwJE1haW5Db250ZW50JERlZmF1bHQxJGlucXVpcnkxJGU5ZmNlYjNjLTJhOTgtNGQ3OS04OTJjLThhN2ExMDQ3YjM3YjDuiOnVXoWOEqr1oTiU/RZceH7O", ENDITEM,

兄弟们看明白了吧,相当于我的IE在欺骗服务器, 就是说不管在刷新完成页面后,服务器给了浏览器什么值,都不管,就直接提交回去这串多的,正确的值。
-----------------------------------
用了这个办法,其实不是解决了问题,而是避开了问题。在没有找到更好的解决方法之前,也只能如此。


在这插几句别的,我不知道其他的公司如何,在我所在的公司,我自己崇尚的是“各司其职,各负其责”。但是往往某些时候,测试和研发是一个对立的方面,总会出现互相推卸责任的状况。就这个问题来说,最早的时候,似乎责任全部在我,因为手工操作,没有任何错误的程序在Loadrnner中报错。不过现在看起来,两方面都有责任。
研发:搞清楚为什么快速刷新IE之后查看源文件ViewState会变短。
测试:搞清楚为什么ViewState变短之后,手工操作正常,Loadrunner中不正常。

[ 本帖最后由 redsong 于 2006-7-7 17:15 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

63#
 楼主| 发表于 2006-7-7 11:05:29 | 只看该作者
第二个问题:

2楼提问第二个问题的时候,有这么两句话:
-------------------
传递这个用户名 用的是session
这个问题也请教大家是.net程序还是loadrunner的问题,应该如何解决。
-------------------

我想,web页面之间记录和传递数据(不是页面[客户端]和服务器之间传递数据),目前只有两种方法cookie和session
cookie因为安全性和可以被客户端禁止的问题而越来越少的被使用,所以我们这个网站用的session
发现问题之后,我的思路同样是先判断是谁的问题,研发?测试?只有先搞清楚谁应该解决这个问题之后才能往下走,
所以我问了"是.net程序还是loadrunner的问题",不过看起来搞测试的兄弟们还是太老实,太敬业了,上来都想先尝试解决这个问题。

这几天中,我屡次尝试手工操作,结果真的还让我重现了问题:

开两个IE,分别用user1 user2登录, 各自点开一个弹出新窗口的链接,分别显示欢迎user1 欢迎user2
按住一个IE(欢迎user2)的F5键疯狂刷新,停止,发现变成了另外一个(欢迎user1),再次按住另外一个IE(欢迎user1)的F5刷新,停止,发现变成了(欢迎user2)。到这里为止,问题就可以让研发解决了。

不过手工操作很难测试来这种情况,通常是反复操作多次,才能出现,也没有什么规律,并且一下一下的刷新不行,必须是很快速的刷新(和第一个问题有些相近)。

第三个问题:
三楼已有解决方案
回复 支持 反对

使用道具 举报

该用户从未签到

64#
 楼主| 发表于 2006-7-7 11:13:22 | 只看该作者
再次强烈感谢所有回帖,关注的兄弟们
感谢51testing网站给了大家一个畅所欲言的平台!
感谢xingcyx兄弟,奖金没有送出去不是我的错,来北京的话不电联一下一起吃顿饭就是你的不对了。


愿所有的公司都像重视客户,重视利润,重视股票价格,重视企业信誉一样重视测试,也希望我们的薪水节节攀升!


此贴结贴,奖金失效。sdlkfj3
回复 支持 反对

使用道具 举报

该用户从未签到

65#
发表于 2006-7-7 11:32:26 | 只看该作者
呵呵,奖金失效没关系,能够交到你这么一个朋友是更大的收获。
看了你分析问题解决问题的态度和方法,让我很是佩服,以后多交流,有机会去北京一定宰你一顿,呵呵。
同时你要是有机会来厦门,也欢迎来找我。
回复 支持 反对

使用道具 举报

该用户从未签到

66#
发表于 2006-7-7 15:39:10 | 只看该作者

思考

看了大家的贴子,发现自己思考问题的能力不够,多向大家学习.
以后有什么问题还需要向大家多请教.
回复 支持 反对

使用道具 举报

该用户从未签到

67#
发表于 2006-7-7 17:52:09 | 只看该作者

对于第2个问题 楼主有代码的话 把出错代码贴出来

对于第2个问题 楼主有代码的话 把出错代码贴出来~
看来我怀疑的没错~但是这种错误代码是不太好找的~
多见一些错误模式~对大家的工作都有好处
回复 支持 反对

使用道具 举报

该用户从未签到

68#
发表于 2016-6-15 23:23:15 | 只看该作者
不知道楼主问题解决了没有。我看也是06年的帖子了。。
现在我也遇到类似的问题,2016年了,10年了。。

问题是这样的。
伪代码,操作步骤如下:
1、打开页面:
    web_reg_save_param("viewstate1");
    web_url 方法,get页面
    此时,可以得到get消息返回的viewstate值
2、查询:
    web_reg_save_param("viewstate2");
    web_custom_request(post方法,viewstate = {viewstate1},name=某某人) //伪代码,查询这步的post,要用到第一步的viewstate值,这里可以获取,没有问题。
    此时,在查询框下方会查出几十条数据
3、勾选记录点击确定【问题就在这里】:
    web_custom_request(post方法,viewstate = /Wwjfwejfwoefwejof) //此处viewstate省略几千字符
问题如第三步所描述的。在第二步中,查出了记录。第三步,勾选某条记录【第二步name参数查出的人名,任选一个】,并不会产生HTTP消息,只有点击确认按钮,才会发送post消息,此时,post消息体中的viewstat不能从第二步获取,因为第二步获取的viewstat2这个参数,是没有勾选任何记录的,一旦使用了这个viewstat2,第三步的post就会报错(报为勾选任何记录)

请问还有好的解决方法?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-22 09:20 , Processed in 0.070026 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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