|
今天在录制登录scripts发现一个有趣的小问题,发出来共享一下。小弟是新手,如果问题肤浅,请给予解答,不要嘲笑。
windows版本:XP
LR版本:9.0
系统B/S架构,浏览器IE7.0
我最开始使用url base scripts 模式录制,发现在登录时没有录制到常见的用户名和密码,scripts如下:
**********************************************************************************************
web_add_cookie("SGCC_LOGIN_NAME=0xee9c8f6531f6b3bc; DOMAIN=192.168.1.1");
web_add_cookie("SGCC_LOGIN_PWD=0x48dceefe3ecc25f7; DOMAIN=192.168.1.1");
web_add_cookie("JSESSIONID=88F1C3F9F51F934BC41E80A7ABE9F44B; DOMAIN=192.168.1.1");
.................................................................
.................................................................
web_submit_data("SessionUtil",
"Action=http://192.168.1.1:8088/sgcc/servlet/SessionUtil?parent_id=0",
"Method=POST",
"RecContentType=text/html",
"Referer=http://192.168.1.1:8088/sgcc/login.do;jsessionid=88F1C3F9F51F934BC41E80A7ABE9F44B",
"Snapshot=t20.inf",
"Mode=HTTP",
ITEMDATA,
"Name=node", "Value=0", ENDITEM,
LAST);
因为在录制登录或各种会产生post request包时,我都会使用insert comment来插入提示注释,所以这个函数位置是绝不会搞错的。
于是我发现,平常登录需要有的登录用户名和密码在这个函数里没有了!
我最开始认为是cookie造成,因为在我录制的这个登录页面上有一个"保存登录信息"的单选框,如果打勾,就会把用户名和密码保存到本地的cookie里,但是因为有验证码,所以每次登录还是要输入验证码,点击按钮才能登录注意,不管是否这个单选框是否被打勾,都要求点击按钮登录。
我查询了使用cookie不用输入用户名和密码的实现原理,但是资料上都只是简单地说会查询本地的cookie,但是如何验证用户名和密码?客户端是把cookie里的用户名和密码发给服务端验证,还是返回服务器一个验证正确的值,都没有说清楚!
实践是检验真理的唯一标准,于是我使用httpwatch这个工具,看看当 "保存登录信息"在打勾和不打勾的两种情况下,IE向服务器发送了什么信息?
结果是:无论这个单选框是否打勾,IE都会向服务器提交longinuser 和password的值,在httpwatch里看得非常清楚。
那么为什么在scripts里没有用户名和密码呢?为了高清楚规律,我按下面4种情况进行了录制:
url base scripts html base scripts
保存登录信息情况下登陆 无 有
不保存登录信息下登陆 有 有
有:脚本里录制到用户名和密码
无:脚本里没有录制到用户名和密码
从这个表可以清楚看出在相同的条件下url base scripts 并不如 html base scripts录制的信息完整
这是怎么回事呢?请大家指教一下
--------------------------------------------------------------------------------------------------------------------------
(4楼更新)
**************************************************************************************************************************
此贴观点完全错误,大家不要再被我原来的错误理解误导了
最近学习JSP时研究用servlet处理cookie才了解,cookie的校验是在服务器端完成的,所以浏览器发密文或明文给服务器都可以,关键是服务器端接收到cookie后是如何处理。
现在看这贴,整篇几乎在胡说八道,希望大家给予谅解,原谅我当时的无知
[ 本帖最后由 kursk 于 2009-2-20 11:11 编辑 ] |
|