51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5229|回复: 7
打印 上一主题 下一主题

[求助] sessionid的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-5-20 17:46:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在一个测试当中,录制脚本时脚本当中没有出现sessionid这个参数的,,但是开发是根据sessionid来判断在线用户数的,,在浏览器opera的相关设置中可以找到这个sessionid,入图所示:
现在我想在LR脚本中对其进行这个sessionid进行关联.这样我就可以给每个用户设置迭代运行多久了.该如何设置呢??

[ 本帖最后由 zhuyuancan 于 2008-5-20 17:48 编辑 ]

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
发表于 2008-5-20 20:19:58 | 只看该作者

我看到有一个帖子已经解决这个问题

我看到有一个帖子已经解决这个问题,你可以去看看,这里面的原理都一样,只是要注意细节的东西
当用户登录时,会产生一个Sessionid号,访问结束后,该
Sessionid便会失效。我录制的时候,在脚本里面获取到了该Sessionid,但当我再
回放的时候,这个Sessionid已经无效了,所以我需要把这个Sessionid作为一个
动态数据,当我一登录的时候,便获取一个新的有效的Sessionid,然后通过函数
把它保存下来
web_reg_save_param("WCSParam_Text1",
"LB=ProcessID=",
"RB=;",
"Ord=1",
"RelFrameId=1",
"Search=body",
LAST);
那么后面用到的页面中就可以调用WCSParam_Text1这个参数使用这个新的
Sessionid号。这是个动态数据很典型的例子,
web_submit_data("w_onload_check.asp",
"Action=http://gsserver3/cwbase/sys/userlogin/w_onload_check.asp",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://gsserver3/cwbase/sys/userlogin/index.asp",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=hdclentip", "Value=chenjing", ENDITEM,
"Name=hdProcessID",
"Value=F8E5ACCD372845C38C7E1981A342F703", ENDITEM,
"Name=selInstanceid", "Value=T01", ENDITEM,
www.51testing.com
9
"Name=TxtUserID", "Value={RYBH}", ENDITEM,
"Name=TxtPassword", "Value=cwpass", ENDITEM,
"Name=Txtkjdate", "Value=2003.01.06", ENDITEM,
"Name=selInstancetxt", "Value=性能测试用(中型数据库)", ENDITEM,
"Name=selInstance", "Value=T01", ENDITEM,
LAST);
web_url("loginpage.aspx",
"URL=http://gsserver3/cwbase/sys/menushow/loginpage.aspx?Proces
sID={WCSParam_Text2}",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t4.inf",
"Mode=HTML",
LAST);
理解web_reg_save_param函数,
int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);
第一部分:参数名字,用双引号括起,逗号分开;
第二部分:List of Attributes,包括:LB、RB、RelFrameID、Ord、Search、SaveOffset、
SaveLen等,
第三部分:LAST,结束标志。
左边界,右边界到底是个什么概念?
LB是左边界,要查找的字符串左面的边界值,即位于查找字符串的最左边的字符串,
RB是右边界,要查找的字符串右面的边界值,即位于查找字符串的最右边的字符串,
比如说吧,程序中有这么一个赋值,ProcessID
=A53625E18440FCE81F26DCE712E65EBA;如果ProcessID的值是动态的,我想使用动
态变量,那我设定查找左边界为LB=ProcessID=,右边界为RB=;的字符,如果找到
了,就替换成变量.
Search是指查找范围,就是说在哪里查找这些值,可以取这样几个值,我们一般设
为ALL,Body等即可。
Headers (Search only the headers),
Body (search only Body data, not headers),
Noresource (search only the html body, excluding all headers and resources),
ALL (search Body and headers). The default value is ALL.
RelFrameID: The hierarchy level of the HTML page relative to the requested
URL.一般取1
ORD: This parameter, also known as Instance, indicates the ordinal or
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-5-21 09:19:32 | 只看该作者
感谢2#的回答,,但是我在脚本里没有获取到这个sessionID,,,重复运行脚本时,在opera中可以看到每次运行一次都是不同的seesionid
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-7-18 22:43:28 | 只看该作者
顶,非常的好
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-7-19 21:32:44 | 只看该作者
sessionid需要去关联抓取的。每次访问都会是不同的。可以借助第3方工具来获取sessionid,然后抓取左右边界。也可以用LR的自动关联啊。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-7-21 11:05:46 | 只看该作者
Sessionid 是由服务器管理的 由服务器决定是否失效
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    7#
    发表于 2009-7-21 11:16:06 | 只看该作者
    怎么感觉是个关联问题?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2012-8-15 15:19:10 | 只看该作者
    我的脚本里也获取不到SESSION ID。与楼主问题一样,怎么办
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-12 06:02 , Processed in 0.080013 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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