Tesherlock 发表于 2009-2-19 21:33:06

检查点问题(已解决)

经过检查,发现问题所在。conut找不到的原因在于未对登录用户的动态值进行关联!

刚玩LR,自己录了下自带的网站登录脚本,在加入检查点后,为什么我这里的count数量不会加上去,查看日志一直显示0!预期结果应该是第一个登录成功,第二个用户登录失败!
还请各位帮我看看~小弟在此多谢了!:handshake
这个是我录制的脚本:
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         
Starting action Action.
Action.c(4): Notify: Transaction "用户登录" started.
Action.c(6): Rendezvous 点击登录
Action.c(8): Registering web_reg_find was successful         
Action.c(12): Notify: Parameter Substitution: parameter "username" ="jojo"
Action.c(12): Registered web_reg_find successful for "Text=jojo"         
Action.c(12): Notify: Saving Parameter "count = 0"
Action.c(12): web_submit_data("login.pl") was successful, 741 body bytes, 225 header bytes         
Action.c(27): Notify: Transaction "用户登录" ended with "Pass" 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 .
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         
Action.c(12): Notify: Parameter Substitution: parameter "username" ="222222"
Action.c(12): Registered web_reg_find successful for "Text=jojo"         
Action.c(12): Notify: Saving Parameter "count = 0"
Action.c(12): web_submit_data("login.pl") was successful, 741 body bytes, 225 header bytes         
Action.c(27): Notify: Transaction "用户登录" ended with "Pass" 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:59

兄弟你太有才了。这个问题都发现了。我刚试验了下
如果
      web_reg_find("Text=jojo",
                "SaveCount=count",
                "Search=Body",
                LAST);
这里面的文字被不能被检查到,比如随便填gogoogo,
或者页面只有一个被检测到,比如你代码里面的jojo。
count转换后的值都是0

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

算不算bug还是??

fangaiyun 发表于 2009-2-20 10:08:07

应该是你插入检查点的位置不对

应该是你插入检查点的位置不对 应该是登陆之后检查用户名

Tesherlock 发表于 2009-2-20 13:32:36

回复 2# 的帖子

够郁闷的,按照帮助文档里面的例子,也一样~count数就是不会加上去,你说的多个重复to会变1,我试试看,挑个页面上出现最多的单词看看~难道count数不会累加?

Tesherlock 发表于 2009-2-20 13:34:56

回复 3# 的帖子

web_reg_find属于注册函数,必须放在响应页面之前的。
在说放在后面也试过的。:Q

chare 发表于 2009-2-20 22:30:35

不会累加。他的意思是单次查找到的个数

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

他是页面上面有几个,就显示多少个。你迭代多少次都和那个没关系

love_yebin 发表于 2009-2-20 23:23:07

按提示的错误就是在 你迭带过程中 出现初始化错误,具体嘛:lol ,自己找:lol

allenzgw 发表于 2009-2-21 07:07:14

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:00

回复 7# 的帖子

哈哈,谢谢love_yebin兄弟。已经知道原因了!:lol

chare 发表于 2009-2-22 21:53:11

我还是没看明白原因
方便把完整代码传上来吗
页: [1]
查看完整版本: 检查点问题(已解决)