51Testing软件测试论坛

标题: 请教:LR中的cookie有什么用,要怎么处理呢? [打印本页]

作者: ganlan    时间: 2007-12-28 14:54
标题: 请教:LR中的cookie有什么用,要怎么处理呢?
请教:在LR录制http协议的脚本时,有时录制的脚本中会出现cookie,什么情况下会出现cookie呢,有什么作用的呢?需要怎么处理的?
例如代码片段:
.....       
web_custom_request("getSubSystem.do",
                "URL=http://{loginIP}/CsssWeb/getSubSystem.do?menuId=24000",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://{loginIP}/CsssWeb/menu.jsp",
                "Mode=HTML",
                "EncType=",
                LAST);
        web_add_cookie("2=1; DOMAIN=10.50.188.100");
        web_add_cookie("73=1; DOMAIN=10.50.188.100");
        web_add_cookie("78=1; DOMAIN=10.50.188.100");
        web_add_cookie("93=1; DOMAIN=10.50.188.100");

        web_url("index.jsp",
                "URL=http://{loginIP}/CsssWeb/subsystem/index.jsp?subName=综合管理子系统",
                "Resource=0",
                "RecContentType=text/html",
... ...
对于段代码中的cookie要怎么处理?是否可以注释掉?
作者: linwenyan    时间: 2007-12-28 16:45
“Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。信息的片断以‘名/值’对(name-value pairs)的形式储存。”

脚本中出现cookie是因为网站设计者使用了Cookie,这样可以加快用户再次浏览时网页的打开速度。

Cookie是网站功能的一部分,还是不要注释掉吧。

关于cookie的介绍http://www.51testing.com/?134536/action_viewspace_itemid_69531.html
作者: 暗冷夜空的风    时间: 2007-12-28 21:58
虽然Cookie是为了加快网站浏览速度,但是如果是用来做性能测试的话,为了避免Cookie的干扰,还是需要把它注释掉,以便单纯的观察第一次登录或第一次查询之类的运行情况。起码要能保证第一次跳到这个页面的时间不会太长,导致别人连等的耐心都没有就换其他网站的情况发生。
作者: linwenyan    时间: 2007-12-28 22:16
但是注释掉Cookie,模拟的就不是用户真实的使用场景了
我觉得应该在性能不达标时,再考虑排除其他因素的干扰
作者: ganlan    时间: 2007-12-29 01:01
主要是有个问题:因为脚本是录制和运行是不同环境,Cookie里面是带有IP的,如果不注释掉的话里面的IP是否要参数化呢?如果不参数化会有什么影响呢?
作者: pupu840323    时间: 2007-12-29 17:10
标题: 回复 4# 的帖子
对于同一个页面,进行相同的两次录制,有的时候产生COOKIE,有的时候就不产生,您了解这个是怎么回事吗?
作者: pupu840323    时间: 2007-12-29 17:11
标题: 回复 5# 的帖子
里面可能存在JSSESSIONID这类的东西,我重新回放的时候,没有错误,但是当多用户的时候就会产生冲突。
作者: ganlan    时间: 2007-12-30 01:34
楼上说的没看明白,是否可以说的详细一点呢?
作者: linwenyan    时间: 2007-12-31 00:31
原帖由 ganlan 于 2007-12-29 01:01 发表
主要是有个问题:因为脚本是录制和运行是不同环境,Cookie里面是带有IP的,如果不注释掉的话里面的IP是否要参数化呢?如果不参数化会有什么影响呢?


你指的IP是这里的吗 web_add_cookie("2=1; DOMAIN=10.50.188.100");
DOMAIN后面的是服务器的IP,你们做测试的时候应该有专门的机子做服务器,应该不存在IP地址不同的情况吧
作者: linwenyan    时间: 2007-12-31 00:56
原帖由 pupu840323 于 2007-12-29 17:10 发表
对于同一个页面,进行相同的两次录制,有的时候产生COOKIE,有的时候就不产生,您了解这个是怎么回事吗?


不好意思,我对这个也不太了解,不过我觉得COOKIE本身是用代码实现的一种功能,它是怎么产生要看设计者是怎么设计的,而且也可能是设计得不完善,存在一些缺陷。(个人理解)
作者: dujun    时间: 2008-1-2 10:13
关注中
作者: windfly1314    时间: 2008-1-2 15:32
我觉得注释掉不影响,还会更真实点。针对这些我一直是按注释来处理。
作者: soswhp    时间: 2008-1-2 15:59
原帖由 pupu840323 于 2007-12-29 17:10 发表
对于同一个页面,进行相同的两次录制,有的时候产生COOKIE,有的时候就不产生,您了解这个是怎么回事吗?

这个问题我也想知道,同样的操作,在不同的机器上进行录制一个产生一个不产生cookie,我估计是与LR哪里的配置有关,不知对不对?
作者: zhangsq1982    时间: 2008-1-4 10:07
The web_add_cookie function adds a new cookie. If the name and path match and existing cookie,
the existing cookie is overwritten with the new one. If the "expires" date has past, the cookie is deleted.
Although Vusers handle cookies automatically, there may be cases when you need to manually control the cookies.
Note: Vusers do not use (access or modify) the cookies that are stored by your browser. Instead,
each Vuser uses the cookies that are sent to the Vuser by the server host at runtime.
These cookies are maintained only temporarily-while the Vuser script runs.
web_add_cookie intended use is to add cookies usually stored in the browser, prior to starting the run.
This function is supported for all Web Vusers and for WAP Vusers running in HTTP or Wireless Session Protocol (WSP)
replay mode.


Web_add_cookie的功能是增加一个新的cookie,如果相同路径和名字的cookie存在,那么就要覆盖原来的cookie,
如果过期,cookie将会被删除.尽管Vuser是自动处理cookies的,你也是可以手工控制的(具体怎么做我也还不知道)
注意:Vusers不会(**和修改)使用由浏览器存贮的cookies,相反,每一个Vuser用户都可以使用由主机在运行时发送给每一个用户的cookies
这些cookies仅仅被Vuser脚本运行时暂时的使用
Web_cookie的功能(web_add_cookie, web_remove_cookie, and web_cleanup_cookies)仅仅是控制这些临时的cookies
web_add_cookie 通常是用来增加在开始运行以前的浏览器中的cookies
这些功能支持所有的WEB用户和也支持WAP Vusers running in HTTP or
Wireless Session Protocol (WSP) replay mode.
我翻译的不好,希望高手给翻译一下!让大家看看
作者: laipi    时间: 2008-1-4 11:16
楼上的牛人 太谦虚了把 谢谢了 受教
作者: jacksboy    时间: 2009-1-3 12:25
多看LR帮助,里面说到了如果是会话COOKIE,回放时是不会记录到脚本里的,但如果是永久COOKIE,则会记录。
而且不是纯HTML 页面,可能有些会话COOKIE也会被认为是永久COOKIE而记录到脚本里,比如JAVASCRIPT里的COOKIE。
作者: smilehe    时间: 2009-1-13 09:57
cookie的用途要问开发人员,常常里面会记录程序执行的信息或者用户信息,如果贸然去除,可能会影响逻辑功能。
作者: archonwang    时间: 2009-1-13 14:55
建议注释掉。这些语句应不会对服务器产生很大的影响,但是却会对客户端产生压力。
作者: 断寒    时间: 2009-1-13 17:21
1.注释掉这些语句与不注释掉这些语句在相同并发下对于系统产生的压力的区别基本可以忽略不计,这点大家可以试下看看.
2.注释掉这些语句不会构成脚本错误.
就说这么多了.
作者: xiaowu_627    时间: 2010-11-2 14:07
你们好,如果cookie是永久记录,那我回放的时候就会产生错误,因为每次登录都会产生新的cookie,这样肯定登录不成功。请问这种情况下怎么修改呢?
作者: xinqidian123    时间: 2010-11-2 14:42
关注一下。。
作者: fairyqb    时间: 2011-6-21 16:06
cookie不能注释掉,不要因为看着它乱不顺眼就不用,那是不对的。我也是看专家的。以前不知道COOKIE是个什么东东,我就给它注释掉了,结果回放出错。专家说了不出错,也不要注释掉。我就知道这些,51上面应该有这方面的资料。
作者: 158403991    时间: 2011-8-22 10:06
学习了




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