51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 判断成功登陆的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-8-17 16:15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
网上找到的关于判断成功登陆的方法:
1、添加成功登陆后的标志,如下的fanhuiflag字段
2、保存判断成功与否的参数,如下的WCSParam_Text1
3、判断登陆是否成功,如下的if语句

问题:
WCSParam_Text1是登陆成功后才取的参数,如果登陆不成功,脚本执行完后,系统就找不到这个参数,提示错误“No match found for the requested parameter "WCSParam_Text1"”,后边的if语句根本就没有执行到。
请问上边的方法对吗,还是我的思路有问题?

Action()
{

        char fanhuiflag[30] ="22222";
        web_reg_find("Text=\r\n"
                "\t图书馆管理系统登录页面\r\n",
                LAST);

        web_set_max_html_param_len("1024");

/* Registering parameter(s) from source task id 7
        // {Siebel_Analytic_ViewState2} = "/wEPDwULLTE5MzA2NTM1MDFkZMhW7tsMnr72dyQw1EWe9oRnEdQl"
        // */

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

        web_url("Login.aspx",
                "URL=http://10.*.*.*/LibraryMS/Login.aspx",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t1.inf",
                "Mode=HTML",
                LAST);


// [WCSPARAM WCSParam_Text1 5 22222] Parameter {WCSParam_Text1} created by Correlation Studio
        web_reg_save_param("WCSParam_Text1",
                "LB=td>",
                "RB=<",
                "Ord=94",
                "RelFrameId=1",
                "Search=Body",
                "IgnoreRedirections=Yes",
                LAST);



        web_submit_data("Login.aspx_2",
                "Action=http://10.1.16.89/LibraryMS/Login.aspx",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://10.1.16.89/LibraryMS/Login.aspx",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=__VIEWSTATE", "Value={Siebel_Analytic_ViewState2}", ENDITEM,
                "Name=txtAdmin", "Value=tsoft", ENDITEM,
                "Name=txtPwd", "Value=1110", ENDITEM,
                "Name=txtCode", "Value=", ENDITEM,
                "Name=btnLogin", "Value=鐧诲綍", ENDITEM,
                "Name=__EVENTVALIDATION", "Value=/wEWBgLH06DZCwKN8+WYBgKd+7qdDgLChPzDDQKC3IeGDAKQ9M/rBTMz5cP3aLfsQzbX86Jne1ixRdMJ", ENDITEM,
                EXTRARES,
                "URL=WebResource.axd?d=sQsZ8AfHHfX5j7Lh0K2vYg2&t=633936346575142915", "Referer=http://10.1.16.89/LibraryMS/Default.aspx", ENDITEM,
                "URL=WebResource.axd?d=kEe3vR9BO-LC5GNwMzINFw2&t=633936346575142915", "Referer=http://10.1.16.89/LibraryMS/Default.aspx", ENDITEM,
                LAST);

        if(strcmp(fanhuiflag,lr_eval_string("{WCSParam_Text1}"))!=0)
        {
                lr_error_message ("登录不成功");
        }


return 0;
}

[ 本帖最后由 jiachang 于 2010-8-17 16:16 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-8-17 16:29:38 | 只看该作者
错误提示的意思是没有匹配到指定的参数WCSParam_Text1;
----------------
另外这句应该有问题,Ord=94,页面中有这么多组匹配项吗?你改成Ord=1试试……
web_reg_save_param("WCSParam_Text1",
                "LB=td>",
                "RB=<",
                "Ord=94",
                "RelFrameId=1",
                "Search=Body",
                "IgnoreRedirections=Yes",
                LAST);
-------------------------
文本检查直接用web_reg_find或web_find,不必用web_reg_save_param保存参数再比较
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-8-17 16:56:34 | 只看该作者
只是想试验一下这种方法。
是不是因为登陆不成功才提示没有匹配到参数呢?
另外跟这段代码的外置有关吗,如果把这段代码放到登陆页面的后边,if语句之前就不会提示这个错误。
能提供一个用这种方法的完整实例吗,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-8-17 18:07:32 | 只看该作者
检查点函数不是这样用的,关联更不是这样用的,你应该是检查点去判断是否出现 图书馆管理系统登录页面 然后把结果保存在一个参数中再去判断参数的值
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-8-18 08:52:57 | 只看该作者
这是两个页面,Login.aspx——图书馆管理系统登录页面,Login.aspx_2——图书馆管理系统主页,我现在判断的是成功登陆主页。
fanhuiflag就是登陆成功的标志,WCSParam_Text1是系统登录后的参数,不是关联,最后的if语句就是比较这两个参数是否相等,相等则登录成功,这个思路不对吗?

[ 本帖最后由 jiachang 于 2010-8-18 09:23 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-8-18 09:58:08 | 只看该作者
如果登陆不成功时,他就会提示找不到参数 WCSParam_Text1,执行不到 if判断语句那,
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-8-18 10:26:11 | 只看该作者
直接用web_reg_find找你的登录成功标志,web_reg_find就是做验证用的,自己写if做判断岂不是多此一举
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-8-18 10:52:58 | 只看该作者
用web_reg_find方法是可以,但我就是想试验一下这种方法是否可以
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 19:01 , Processed in 0.072801 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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