51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3560|回复: 16
打印 上一主题 下一主题

[原创] 关于用户登录的一个领人相当困惑的问题--希望高手能帮忙解答一下

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-14 16:48:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 录制了一个脚本,把登录部分录在init部分,再我把脚本中的登录的用户名与密码设为错误的用户名及密码,但是在进行脚本回放的时候还是可以回放成功,并且未检测到错误,并且用控制器加载后还可以进行测试,未报错
2. 并且如果在进行登录时,有验证码,验证码在脚本中是不变的,但是通过控制器加载后还是在可以进行测试,未报错,但是实际上并没有进行操作,比如脚本中进行了数据操作,但是这样在测试过程中实际上并未在进行数据的操作

上述的问题是loadrunner的缺陷吗????希望有高手帮忙解答一下下,不胜感激~~~~~~~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-11-14 18:24:24 | 只看该作者
LR只是发包和收包,而不是决断包的内容.这不是LR的缺陷.
你应该加入相应的判断条件.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-11-14 22:18:33 | 只看该作者
应该设置检查点吧!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-11-16 11:51:07 | 只看该作者
原帖由 wangyh 于 2007-11-14 22:18 发表
应该设置检查点吧!


检查点正式测试时候是影响效果的,净出馊主意。

自己调试好了确定代码运行正确就行了。
2楼回复的很好,1楼的好好理解一下。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-11-16 11:57:31 | 只看该作者
怎么我有点不明白了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-11-16 12:14:04 | 只看该作者
LR其实就是一个中间代理工具.它与服务器之间只进行包信息的交互.
个人是这么理解的
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-11-16 13:08:27 | 只看该作者
6楼说的完全正确,你申请数据,正常得到返回,即使你在返回页面写个登录不成功。
lr也算你执行成功。
工具就是工具。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-11-20 11:01:03 | 只看该作者
不明白
从来没遇到过错误密码 还能登陆的问题!
你回放下..如果密码错误还能登陆.就是你的工具有问题..
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-11-20 18:36:59 | 只看该作者
原帖由 bluemoon1999 于 2007-11-20 11:01 发表
不明白
从来没遇到过错误密码 还能登陆的问题!
你回放下..如果密码错误还能登陆.就是你的工具有问题..


密码错误当然不能登陆,但是返回一个页面lr仍然算做成功。
所以不是工具问题,好好研究一下lr的工作原理,不要误导人家。
by design,not bug。绝不能和你录制的时候返回的一摸一样,否则就太不灵活了,例如参数化查询。。。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-11-20 23:36:06 | 只看该作者
不明白, 不理解. 如果脚本中还有除了登陆之外其它登陆后的后续动作, 怎么能运行成功呢?
不过我试了, 真的能运行通过呢.

[ 本帖最后由 TransferForTest 于 2007-11-20 23:39 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-11-21 11:18:54 | 只看该作者
原帖由 TransferForTest 于 2007-11-20 23:36 发表
不明白, 不理解. 如果脚本中还有除了登陆之外其它登陆后的后续动作, 怎么能运行成功呢?
不过我试了, 真的能运行通过呢.

不是说了吗,问题关键的在于你程序的处理方式,如果登录不成功,程序直接给你个404错误,lr肯定算你不成功。
但是这样的界面不友好。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-12-3 20:14:02 | 只看该作者
原帖由 supercleaner 于 2007-11-21 11:18 发表

不是说了吗,问题关键的在于你程序的处理方式,如果登录不成功,程序直接给你个404错误,lr肯定算你不成功。
但是这样的界面不友好。

   就算说loadrunner是一个中转站,负责发送各接收包,登录后的操作是要正常登录后才能操作的吧,
那么也就是说登录后脚本里的数据包也是正常登录后才能正常发送与接收,即跟服务正常进行交互,那么既然没有
进行正常的交互,为什么登录后的部分的脚本还能loadrunner里正常运行下去
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2015-6-25 18:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2007-12-4 10:01:16 | 只看该作者
    打开log回放一下,查查提交的值,跟踪一下。

    有可能是session不过期,登录成功的用户还是上次的用户,不是新的用户吧?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-12-4 10:41:20 | 只看该作者
    同意6楼的说法
    我也遇到过
    加检查点就行了  注意检查点一般不建议加地事务中
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-12-4 10:44:40 | 只看该作者
    你对LR的原理还不了解.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2007-12-4 15:34:04 | 只看该作者
    原帖由 qiguojie 于 2007-12-4 10:01 发表
    打开log回放一下,查查提交的值,跟踪一下。

    有可能是session不过期,登录成功的用户还是上次的用户,不是新的用户吧?



    我同意小齐说的,很可能还是上次登陆的用户,这个也要看你程序的实现机制.你可以手动试试,先登陆个正确的,再登陆个错误的,然后直接复制连接打开试试
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2010-8-4 16:53:42 | 只看该作者
    我想你说的意思是:如果登录失败,那么事务应该显示是失败的,你可以添加一个文本检查点,然后手工添加事务,对事务加以判断,可以达到你说的目的。以下是我的代码:
    Action()
    {

            web_reg_find("Text=Web Tours Error - Incorrect Password",
                    "SaveCount=check_count",
                   
                    LAST);

            lr_start_transaction("登录");


            web_submit_data("login.pl",
                    "Action=http://127.0.0.1:1080/WebTours/login.pl",
                    "Method=POST",
                    "TargetFrame=body",
                    "RecContentType=text/html",
                    "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
                    "Snapshot=t2.inf",
                    "Mode=HTML",
                    ITEMDATA,
                    "Name=userSession", "Value={WCSParam_Diff1}", ENDITEM,
                    "Name=username", "Value=jojo", ENDITEM,
                    "Name=password", "Value=bean", ENDITEM,
                    "Name=JSFormSubmit", "Value=off", ENDITEM,
                    "Name=login.x", "Value=49", ENDITEM,
                    "Name=login.y", "Value=5", ENDITEM,
                    LAST);

            if (atoi(lr_eval_string("{check_count}")) > 0)
            lr_end_transaction("登录", LR_FAIL);
            else
                    lr_end_transaction("登录", LR_PASS);


       /*  if (atoi(lr_eval_string("{check_count}")) > 0){

            lr_error_message("Login failed");
                    return -1;

            }

         else{

            lr_output_message("Login successful.");

            return(0);

         }
    */


            return 0;
    }
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-17 22:46 , Processed in 0.099349 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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