51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1479|回复: 0
打印 上一主题 下一主题

[转贴] LR检查点小结(转)学习

[复制链接]
  • TA的每日心情
    慵懒
    2016-3-23 10:29
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    跳转到指定楼层
    1#
    发表于 2016-1-7 13:50:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    LR检查点小结

    LR中检查点有两种:图片和文字。这两种检查点可用以下三个函数实现:web_find()、web_reg_find()和web_image_check()

    下面分别介绍三种函数的用法
    1.web_find()函数

    函数作用:在页面中查找相应的内容

    参数举例:web_find("web_find","RighOf=a","LeftOf=b","What=name",LAST);

    参数解释:"web_find"定义该查找函数的名称;“LeftOf”和“RighOf=”用来定义查找字符的左右边界;“What=”定义查找内容。

    例如上述参数举例中的意思就是在页面中查找左边界为b,右边界为a,内容为name的信息

    函数用法:该函数是在查找页面中的内容,所以要放在要查找的内容的后面。

    注意事项:使用该函数时,要在Vuser->Run-Tme Settings中更改下设置,勾选Enable Image and text check



    系统默认是不勾选该选项的。

    关于该函数的其他说明:该函数只能在基于HTML模式录制的脚本中进行查找。
    2.web_reg_find()函数

    函数作用:在缓存或代码中查找相应的内容

    参数举例:web_reg_find("Search=Body","SaveCount=ddd","Test=aaa",LAST);

    参数解释: Search用来定义查找范围,SaveCount定义查找计数变量名称,该参数可以记录在缓存中查找内容出现的次数,可以使用该值,来判断要查找的内容是否被找到

    例如上述参数举例中的意思就是Body中查找内容为aaa的信息,并将出现次数记录在变量ddd中。

    函数用法:该函数是在缓存中查找相应的内容,所以要放在查找内容之前。

    注:在录制过程中添加的检查点,用到的函数是web_reg_find(),且参数只有“Text=”
    3.web_image_check()函数

    函数作用:在页面中查找一个具体的图片。

    参数说明:web_image_check("web_image_check","Alt=","Src=",LAST);;

    参数解释:“Alt”和“Src”的值直接取该图片在网页源代码中相应参数的值。

    函数用法:该函数是在缓存中查找相应的内容,所以要放在查找内容之前。

    注意事项:使用该函数时,要在Vuser->Run-Tme Settings中勾选Enable Image and text check,具体操作请看web_find()中的注意事项。

    经过测试,该函数用到查找内容前面或后面,都不影响查找结果。

    举例说明(脚本)

    该脚本记录的是登陆系统后退出的操作,在脚本中用到atoi()函数和lr_eval_string(”{SaveCount定义的变量}”)两个函数结合使用,判断查找内容出现的次数是否大于0,若大于0,则输入登录成功的信息。

    vuser_init()

    {

      web_url("xjcost",

           "URL=http://gczj-server8:9205/xjcost/",

           "Resource=0",

           "RecContentType=text/html",

           "Referer=",

           "Snapshot=t1.inf",

           "Mode=HTML",

           EXTRARES,

           "Url=jsp/images/index/index.swf", ENDITEM,

           "Url=jsp/images/index/xxfb2.gif", ENDITEM,

           "Url=jsp/images/index/ywpt2.gif", ENDITEM,

           LAST);



       web_url("userAction.struts",

           "URL=http://gczj-server8:9205/xjcost/userAction.struts?actionType=reLogin",

           "Resource=0",

           "RecContentType=text/html",

           "Referer=",

           "Snapshot=t2.inf",

           "Mode=HTML",

           LAST);



       return 0;

    }



    Action()

    {



       lr_start_transaction("Log_on");

       lr_rendezvous("Log_on");

       web_add_cookie("userAccount=admin; DOMAIN=gczj-server8");



    web_reg_find("Text=欢迎您",

          "SaveCount=欢迎您_Count",

          LAST);



       web_image_check("web_image_check",

          "Src=/xjcost/jsp/images/index1/edit_01.gif",

          LAST);



       web_submit_data("userLogin.struts",

           "Action=http://gczj-server8:9205/xjcost/userLogin.struts?actionType=userLogin",

           "Method=POST",

           "RecContentType=text/html",

           "Referer=http://gczj-server8:9205/xjcost/userAction.struts?actionType=reLogin",

           "Snapshot=t3.inf",

           "Mode=HTML",

           ITEMDATA,

           "Name=userAccount", "Value=admin", ENDITEM,

           "Name=pwd", "Value=1111", ENDITEM,

           EXTRARES,

           "Url=jsp/images/index1/edit_01a.gif", "Referer=http://gczj-server8:9205/xjcost/userLogin.struts?actionType=userLogin", ENDITEM,

           LAST);



       web_find("web_find",

          "What=欢迎您",

          LAST);

       lr_end_transaction("Log_on",LR_AUTO);



    //检查是否登录成功

    //如果“欢迎您”这个字符出现次数大于0,输出“Log on successfully!”

       if(atoi(lr_eval_string("{欢迎您_Count}"))>0)

          lr_output_message("Log on successfully!");

       else

          lr_error_message("Log on failed!");

      

       return 0;



       return 0;

    }



    //atoi()函数的作用是将一个ASCII字符串转换为整型

    //lr_eval_string()函数作用是取得参数值,将字符串变量中的参数值替换为当前的参数值并将这个字符串返回



    vuser_end()

    {



       lr_think_time(4);



       web_url("userAction.struts_2",

           "URL=http://gczj-server8:9205/xjcost/userAction.struts?actionType=reLogin",

           "Resource=0",

           "RecContentType=text/html",

           "Referer=",

           "Snapshot=t4.inf",

           "Mode=HTML",

           LAST);



       return 0;

    }



    Global.h:

    #ifndef _GLOBALS_H

    #define _GLOBALS_H



    //--------------------------------------------------------------------

    // Include Files

    #include "lrun.h"

    #include "web_api.h"

    #include "lrw_custom_body.h"   



    //--------------------------------------------------------------------

    // Global Variables



    #endif // _GLOBALS_H
    Replay Log常见信息说明
    1.web_find()和web_image_check()函数的日志信息

    (这两个日志信息是上一样的,只是输出的函数名和参数不同)
    1) 信息1

    Action.c(22): Verification checks not enabled. web_image_check is skipped. See the 'Run-time settings/Preferences/Checks'    [MsgId: MMSG-27197]

    Action.c(22): web_image_check was successful     [MsgId: MMSG-26392]

    出现该信息,说明没有勾选Enable Image and text check
    2) 信息2

    Action.c(22): "web_image_check" succeeded (1 occurrence(s) found. Alt="", Src="/xjcost/jsp/images/index1/edit_01.gif")     [MsgId: MMSG-27192]

    Action.c(22): web_image_check was successful     [MsgId: MMSG-26392]

    出现该信息,说明检查点设置成功,且已经查找到信息
    3) 信息3

    Action.c(22): Error -27191: "web_image_check" failed (0 occurrence(s) found. Alt="", Src="/xjcost/jsp/images/index1/edit_1.gif")  [MsgId: MERR-27191]

    Action.c(22): web_image_check highest severity level was "ERROR"  [MsgId: MMSG-26391]

    出现该信息,说明要查找的内容没有找到。这时依次尝试以下操作:

    1) 检查参数的信息是否写错;

    2) 如果是web_find(),检查函数的位置是否在要查找内容的后面;

    3) 如果是web_image_check(),查看该图片的源代码,看其是否是这个页面上的图片,很可能是图片选择错误,即所选图片不属于该页面。
    2. web_reg_find()函数的日志信息
    1)信息1

    Action.c(15): Registering web_reg_find was successful    [MsgId: MMSG-26390]

    出现该信息,说明内容已查找到
    2)信息2

    Action.c(27): Error -26366: "Text=ABC" not found for web_reg_find     [MsgId: MERR-26366]

    Action.c(27): web_submit_data("userLogin.struts") highest severity level was "ERROR", 18364 body bytes, 918 header bytes, 13 chunking overhead bytes    [MsgId: MMSG-26387]

    该信息在replay log页面是红色显示的,说明没有找到内容,出现此情况尝试以下两个操作:

    1) 参数的信息是否正确;

    2) 查看该函数是否在查找内容的前面。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-7 05:31 , Processed in 0.063720 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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