|
使用Web(HTTP/HTML)协议录制一段打开网页,登陆、退出邮箱的操作,每次登录邮箱都会产生一个不同的SessionID,
1、选择url mode录制时,录制的脚本中包含SessionID,sid在web_url函数中,
如
web_url("domain_logo.gif",
"URL=http://263xmail.com/images/281/135/extech.com.cn/domain_logo.gif", "Resource=1", "RecContentType=image/gif",
"Referer=http://263xmail.com/xmweb?sid=M3M5dTVuOHk2dTZANWUweDF0&usr=sunyu@extech.com.cn&func=loginshow",
LAST);
录制完成后运行脚本失败,然后多次运行脚本,VuGen的自动关联机制对SessionID做了处理,再运行脚本,成功。
问题:选择url mode录制,不是应该在录制过程中就对SID进行处理吗?以前
录制其它脚本时,选择同样的设置,也确实在录制过程中就对SID进行
了参数化和关联,为什么此处没有这样处理呢?
2、选择html mode录制时,录制的脚本中也包含SessionID,sid在下面函数中,
web_submit_data("xmweb",
"Action=http://www.263xmail.com/xmweb", "Method=POST",
"RecContentType=text/html",
"Referer=http://www.extech.com.cn/web/index.asp", "Snapshot=t2.inf",
"Mode=HTML",
ITEMDATA,
"Name=func", "Value=login", ENDITEM,
"Name=usr", "Value=sunyu", ENDITEM,
"Name=pass", "Value=sunyu", ENDITEM,
"Name=domain", "Value=extech.com.cn", ENDITEM,
"Name=DomainName", "Value=", ENDITEM,
"Name=Template", "Value=gb", ENDITEM,
"Name=NeedIpCheck", "Value=on", ENDITEM,
"Name=Submit.x", "Value=31", ENDITEM,
"Name=Submit.y", "Value=8", ENDITEM,
EXTRARES,
"Url=http://263xmail.com/images/lback.jpg",
"Referer=http://263xmail.com/xmweb?func=fld&usr=sunyu@extech.com.cn
&sid=NnMydTJuM3k3dTZANWUweDF0&unfolded=,0,", ENDITEM,
LAST);
录制完成后直接运行脚本就可以通过,没有对SessionID进行处理,但运行日志中
有这样两条信息,
Action.c(6): Warning -26627: HTTP Status-Code=404 (Not Found) for
"http://263xmail.com/images/rback1.gif" [MsgId: MWAR-26627]
Action.c(6): web_submit_data("xmweb") highest severity level was
"warning", 122661 body bytes, 6572 header bytes [MsgId: MMSG- 26388]
即使手工对SessionID进行处理,结果也一样。
问题:为什么不需要处理SessionID进行处理就可以运行通过?脚本运行日志
为什么会有那两条信息?这样算是成功吗?
还有一个问题:
我使用这两种设置对另外一个Web系统也录制一段打开登陆页面,登陆、退出系统的操作,两种模式下却都会在录制过程中就对SessionID进行处理。
记得在一个帖子中版主sunshinelius曾说过,在url和html这两种模式下对SessionID的处理机制不同,前者和后者勾选了“a script describe user actions"时都会在录制过程中处理,而只选择html模式不会在录制时处理。为什么我录制的脚本中处理机制跟sunshinelius的说法不一样呢?
麻烦帮忙分析一下1和2中的问题,谢谢! |
|