51Testing软件测试论坛

标题: 检查点问题(已解决) [打印本页]

作者: Tesherlock    时间: 2009-2-19 21:33
标题: 检查点问题(已解决)
经过检查,发现问题所在。conut找不到的原因在于未对登录用户的动态值进行关联!

刚玩LR,自己录了下自带的网站登录脚本,在加入检查点后,为什么我这里的count数量不会加上去,查看日志一直显示0!预期结果应该是第一个登录成功,第二个用户登录失败!
还请各位帮我看看~小弟在此多谢了!
这个是我录制的脚本:
Action()
{

        lr_start_transaction("用户登录");

        lr_rendezvous("点击登录");

        web_reg_find("Text=jojo",
                "SaveCount=count",
                "Search=Body",
                LAST);
        web_submit_data("login.pl",
                "Action=http://localhost:1080/WebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://localhost:1080/WebTours/nav.pl?in=home",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=username", "Value={username}", ENDITEM,
                "Name=password", "Value=bean", ENDITEM,
                "Name=JSFormSubmit", "Value=off", ENDITEM,
                "Name=login.x", "Value=33", ENDITEM,
                "Name=login.y", "Value=10", ENDITEM,
                LAST);

        lr_end_transaction("用户登录", LR_AUTO);

        lr_log_message("用户名:%s", lr_eval_string("{username}"));

        if (atoi(lr_eval_string("{count}"),0) == 0)
                lr_log_message("登录失败");
        else
                lr_log_message("登录成功");

        return 0;
}

这个是回放日志:
Running Vuser...
Starting iteration 1.
Warning -27077: The "vuser_init" section contains web function(s) when the "Simulate a new user on each iteration" Run-Time Setting is ON.  This may produce unpredictable results with multiple iterations          [MsgId: MWAR-27077]
Starting action Action.
Action.c(4): Notify: Transaction "用户登录" started.
Action.c(6): Rendezvous 点击登录
Action.c(8): Registering web_reg_find was successful          [MsgId: MMSG-26390]
Action.c(12): Notify: Parameter Substitution: parameter "username" =  "jojo"
Action.c(12): Registered web_reg_find successful for "Text=jojo"          [MsgId: MMSG-26362]
Action.c(12): Notify: Saving Parameter "count = 0"
Action.c(12): web_submit_data("login.pl") was successful, 741 body bytes, 225 header bytes          [MsgId: MMSG-26386]
Action.c(27): Notify: Transaction "用户登录" ended with "ass" status (Duration: 0.9780 Wasted Time: 0.0000).
Action.c(29): Notify: Parameter Substitution: parameter "username" =  "jojo"
用户名:jojo
Action.c(31): Notify: Parameter Substitution: parameter "count" =  "0"
登录失败
Ending action Action.
Ending iteration 1.
Starting iteration 2.
Notify: Next row for parameter username = 2 [table  = username].
Notify: Getting new value for parameter 'username': table = 'username.dat' column = '0' row = '2'.
Starting action Action.
Action.c(4): Notify: Transaction "用户登录" started.
Action.c(6): Rendezvous 点击登录
Action.c(8): Registering web_reg_find was successful          [MsgId: MMSG-26390]
Action.c(12): Notify: Parameter Substitution: parameter "username" =  "222222"
Action.c(12): Registered web_reg_find successful for "Text=jojo"          [MsgId: MMSG-26362]
Action.c(12): Notify: Saving Parameter "count = 0"
Action.c(12): web_submit_data("login.pl") was successful, 741 body bytes, 225 header bytes          [MsgId: MMSG-26386]
Action.c(27): Notify: Transaction "用户登录" ended with "ass" status (Duration: 0.9621 Wasted Time: 0.0000).
Action.c(29): Notify: Parameter Substitution: parameter "username" =  "222222"
用户名:222222
Action.c(31): Notify: Parameter Substitution: parameter "count" =  "0"
登录失败
Ending action Action.
Ending iteration 2.
Ending Vuser...

[ 本帖最后由 Tesherlock 于 2009-2-22 15:22 编辑 ]
作者: chare    时间: 2009-2-19 22:48
兄弟你太有才了。这个问题都发现了。我刚试验了下
如果
        web_reg_find("Text=jojo",
                "SaveCount=count",
                "Search=Body",
                LAST);
这里面的文字被不能被检查到,比如随便填gogoogo,
或者页面只有一个被检测到,比如你代码里面的jojo。
count转换后的值都是0

如果页面有两个被检测到,比如你设置成to,这个时候count转换后的值就是1

算不算bug还是??
作者: fangaiyun    时间: 2009-2-20 10:08
标题: 应该是你插入检查点的位置不对
应该是你插入检查点的位置不对 应该是登陆之后检查用户名
作者: Tesherlock    时间: 2009-2-20 13:32
标题: 回复 2# 的帖子
够郁闷的,按照帮助文档里面的例子,也一样~count数就是不会加上去,你说的多个重复to会变1,我试试看,挑个页面上出现最多的单词看看~难道count数不会累加?
作者: Tesherlock    时间: 2009-2-20 13:34
标题: 回复 3# 的帖子
web_reg_find属于注册函数,必须放在响应页面之前的。
在说放在后面也试过的。
作者: chare    时间: 2009-2-20 22:30
不会累加。他的意思是单次查找到的个数

不是你所谓的迭代一次就加一

他是页面上面有几个,就显示多少个。你迭代多少次都和那个没关系
作者: love_yebin    时间: 2009-2-20 23:23
按提示的错误就是在 你迭带过程中 出现初始化错误,具体嘛 ,自己找
作者: allenzgw    时间: 2009-2-21 07:07
web_reg_find("Text=jojo",
                "SaveCount=count",
                "Search=Body",
                LAST);
改成
web_reg_find("Text="{username}",
                "SaveCount=count",
                "Search=Body",
                LAST);
count值应该为1,每次页面只能找到一个这个值
作者: Tesherlock    时间: 2009-2-22 15:08
标题: 回复 7# 的帖子
哈哈,谢谢love_yebin兄弟。已经知道原因了!
作者: chare    时间: 2009-2-22 21:53
我还是没看明白原因
方便把完整代码传上来吗




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2