51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10219|回复: 14
打印 上一主题 下一主题

[求助] 检查点web_reg_find的参数savecount的值是如何变化的?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-12-24 20:30:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我录制了一个登录脚本, 对用户名和密码进行了参数化, 数据源中设置了4组数据, 第1,2组为错误的用户名和密码, 第3,4组为正确的用户名和密码. 运行时设置迭代次数为4.并在脚本中插入了函数lr_log_message("第%s次成功登录", lr_eval_string("{n}"));      
注:参数"SaveCount=n"
  if(atoi(lr_eval_string("{n}")>0)
    {
    lr_output_message("登录成功");
    }
  else
    {
    lr_error_message("登录失败"):
    }

那么在回放日志中会有4次"第%s次成功登录"的字样, 其中的%s分别会是几呢?我的日志中分别是0, 0, 1, 1. 如果这是对的, 我对savecount的值代表的意义有点不明白了, 看论坛上的资料应该说是代表成功登录的次数, 那应该是0,0,1,2啊! 如果不对, 还需要怎么设置能输出正确的值呢? 谢谢前辈多指导了.

[ 本帖最后由 tianlu_0_0 于 2008-12-24 20:32 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

15#
发表于 2012-12-17 16:03:40 | 只看该作者
"SaveCount=num"  
lr_log_message("第%s次成功登录", lr_eval_string("{num}"));
我迭代3次,三次的用户名和密码都是错误的;
结果三次是:num,0,0
求解释!先谢谢各位!
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2012-12-17 15:57:43 | 只看该作者
"SaveCount=num"  
lr_log_message("第%s次成功登录", lr_eval_string("{num}"));
我迭代3次,三次的用户名和密码都是错误的;
结果三次是:num,0,0
求解释!先谢谢各位!
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2010-10-12 14:44:05 | 只看该作者
了解了,个人理解:记录的count数是文本在结果中出现的次数,如果只出现了一次,则结果就是0或1,但如果查找的文本在结果中出现的多次,则count数就是对应的出现次数
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-12-26 13:57:32 | 只看该作者
原帖由 tianlu_0_0 于 2008-12-26 10:43 发表


反正我在脚本中放了这个函数lr_log_message("第s%次成功登录", lr_eval_string("{n}")); n是savecount我设置的变量名. 输出的结果s%处分别是0,0,1,1; 而不是0,0,1,2.

呵呵, 大家实验吧. 到底应该是什么样 ...

如果不是上述问题,那就大胆猜想下,你的第四条数据的问题...嘿嘿
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-12-26 10:43:45 | 只看该作者
没有找到Welcome,则Welcome_Count的值为0,如果在返回信息中出现了1次Welcome,则Welcome_Count的值为1.同理,如果在返回信息中出现了10次Welcome,则Welcome_Count的值为10


反正我在脚本中放了这个函数lr_log_message("第s%次成功登录", lr_eval_string("{n}")); n是savecount我设置的变量名. 输出的结果s%处分别是0,0,1,1; 而不是0,0,1,2.

呵呵, 大家实验吧. 到底应该是什么样我也是晕呢! 我昨天问了一下开发人员, 他上来没怎么看, 就说这个只可能有0,1两种情况嘛! 说是web机制. 我所以说就这么记着吧. 只有0,1两种情况.
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    10#
    发表于 2008-12-26 10:11:46 | 只看该作者
    突然发现这个问题很高深,改天再实验下看看。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-12-25 22:31:18 | 只看该作者
    save_count只是反映能符合规则的内容出现的次数而已
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-12-25 19:17:02 | 只看该作者
    晕,savecount的值怎么会只有0和1两种情况呢?
    ,拿恶魔的脚本举个例子:
               web_reg_find("Text=Welcome",

                      "SaveCount=Welcome_Count",

                      LAST);

               web_submit_form("login.pl",

                      "Snapshot=t2.inf",

                      ITEMDATA,

                      "Name=username", "Value=jojo", ENDITEM,

                      "Name=password", "Value=bean", ENDITEM,

                      "Name=login.x", "Value=35", ENDITEM,

                      "Name=login.y", "Value=14", ENDITEM,

                      LAST);

    如果在  web_submit_form("login.pl",这个请求的返回信息中没有找到Welcome,则Welcome_Count的值为0,如果在返回信息中出现了1次Welcome,则Welcome_Count的值为1.同理,如果在返回信息中出现了10次Welcome,则Welcome_Count的值为10.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2008-12-25 18:31:11 | 只看该作者
    我还是不太理解savecount取值的机制, 那就先放一放吧. 我就先记住它的值只有两种情况:1或0吧. 呵呵, 谢谢二位的解答.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    6#
    发表于 2008-12-25 14:10:22 | 只看该作者
    请注意下,是缓存中的记录。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2008-12-25 14:06:42 | 只看该作者

    回复 2# 的帖子

    本来我就有点迷糊, 看见这段英语里那么多术语好像感觉自己理解错了, 但具体也没领会得了啊!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2008-12-25 14:02:05 | 只看该作者
    斑竹, 我好像就是按照这个说明自己录制了一个登录脚本啊!  

    我的底子比较差. 一开始我就不明白为什么if条件要那么设置
    if (atoi(lr_eval_string("{Welcome_Count}")) > 0){    //判断如果Welcome字符串出现次数大于0,
    我想为什么和0较上劲了, 条件是savecount变量的值是不是0, 大于或小于0奇了怪了!
    后来我看您给这段例子中备注:
    “SaveCount”,该参数可以记录在缓存中查找内容出现的次数,我们可以使用该值,来判断要查找的内容是否被找到
    我就明白点了, 要有多个用户进行登录, 用户登陆一次, savecount值就会有变化. 通过它备注, 我理解是只有成功登陆, 他才会开始计数即才会大于0, 成功一次登录值为1, 两次为2...., 一次没成功无论登录操作做了几次都为0. 可是日志输出时不是按照我的理解显示的!  您能不能给我解释一下啊? 往根里说, 我是挺笨的!

    [ 本帖最后由 tianlu_0_0 于 2008-12-25 14:03 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    3#
    发表于 2008-12-25 10:45:34 | 只看该作者
    读下这个关于web_reg_find函数的说明及其例子

        二、web_reg_find()函数

        该函数的作用是“在缓存中查找相应的内容”,常用参数及含义如下:

      web_reg_find("Search=Body",   //定义查找范围

                      "SaveCount=ddd",             //定义查找计数变量名称

                      "Text=aaaa",                  //定义查找内容

                      LAST);
                  

        使用该函数注意以下事项:

        1、  位置

        该函数写在要查找内容的请求之前,通常情况下写在如下六个函数之前:

        Web_castom_request();web_image();web_link();web_submit_data();web_submit_form();web_url()

        2、  使用技巧

        在该函数的参数中有个“SaveCount”,该参数可以记录在缓存中查找内容出现的次数,我们可以使用该值,来判断要查找的内容是否被找到,下面举个例子来说明:(引用LR的帮助中的例子)

       // Run the Web Tours sample

               web_url("MercuryWebTours",

                      "URL=http://localhost/MercuryWebTours/",

                      "Resource=0",

                      "RecContentType=text/html",

                      "Referer=",

                      "Snapshot=t1.inf",

                      "Mode=HTML",

                      LAST);

        // Set up check for successful login by looking for "Welcome"

               web_reg_find("Text=Welcome",

                      "SaveCount=Welcome_Count",

                      LAST);

        // Now log in

               web_submit_form("login.pl",

                      "Snapshot=t2.inf",

                      ITEMDATA,

                      "Name=username", "Value=jojo", ENDITEM,

                      "Name=password", "Value=bean", ENDITEM,

                      "Name=login.x", "Value=35", ENDITEM,

                      "Name=login.y", "Value=14", ENDITEM,

                      LAST);

        // Check result

               if (atoi(lr_eval_string("{Welcome_Count}")) > 0){    //判断如果Welcome字符串出现次数大于0

                      lr_output_message("Log on successful.");  }//在日志中输出Log on successful

                else{ //如果出现次数小于等于

                      lr_error_message("Log on failed"); //在日志中输出Log on failed

                      return(0);         }
       

        我觉得这个方法非常有用,我们可以举一反三,应用到我们实际的项目中
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2008-12-25 10:14:15 | 只看该作者
    The SaveCount argument causes the number of matches that were found to be assigned to the parameter. To use this attribute, specify "SaveCount=param". When the check is performed, param is assigned a null–terminated string representing a numerical value.
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-23 10:32 , Processed in 0.080492 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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