LoadRunner(五):检查点

目录

前言

文本检查点:web_reg_find()函数

方式一:手动输入检查点函数

方式二:在录制的时候生成检查点函数

图片检查点:web_image_check函数

参考链接:


前言

VuGen是根据服务器端返回的状态码来判断脚本是否执行成功,如果状态码为200,那么VuGen就认为是成功了。但是脚本未必执行成功,因为大多数的系统出错未必会返回错误页面,而是返回消息提示框。比如录制的注册脚本,同样的用户名每次都显示是执行成功,但是同样的用户名显然是不可能每次都能注册成功,这个时候就需要添加检查点,对服务器返回的内容进行检查,比如验证网页上是否存在指定的Text或者Image。

文本检查点:web_reg_find()函数

能够对服务器的返回内容进行查询

注意:

  1. 该函数为注册函数,一定要写到请求前面
  2. 函数在缓存中查找相应的内容,即无须等待html页面内容显示出来就可查找

方式一:手动输入检查点函数

1.在右侧Steps Toolbox工具栏中输入reg_find

参数说明:

Search for specific Text

输入需要查找的字符串,检查点函数将会在服务器返回中对该字符串进行查找,该功能和word中的查找功能十分相似。内容支持参数化,并且支持和关联相同的通配符和识别方式。

Search for Text by start and end of string

提供根据左右边界进行查找的功能

Search in

设置在服务器返回的哪部分数据中进行查询,有All,Headers,Body三个选项,和关联选项相同。

Save count

文本检查点特别之处,记录查找内容的出现次数并且存放到一个参数中,可以填写一个参数名称来存放计数结果。

Fail if

设置在什么情况下文本检查点函数错误。如果选择Found,表示如果在服务器返回中存在需要检查的对象,那么文本检查点函数出错;选择NotFound则相反,如果没找到对应的内容,那么文本检查点函数出错。

检查点函数的错误会导致整个脚本运行结果的失败,通过这个功能可以方便地定位脚本运行中的逻辑错误。

 

 

3.示例:检查登录成功的Welcome出现在页面上,生成的代码如下

Action()
{

    web_add_auto_header("Accept", 
        "text/html, application/xhtml+xml, image/jxr, */*");

    web_add_auto_header("Accept-Encoding", 
        "gzip, deflate");

    web_add_auto_header("Accept-Language", 
        "zh-Hans-CN,zh-Hans;q=0.5");

    web_add_auto_header("DNT", 
        "1");

    web_add_auto_header("UA-CPU", 
        "AMD64");

    web_add_auto_header("User-Agent", 
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko");

    web_url("WebTours", 
        "URL=http://localhost:1080/WebTours/", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t5.inf", 
        "Mode=HTML", 
        LAST);


    web_link("sign up now", 
        "Text=sign up now", 
        "Snapshot=t8.inf", 
        LAST);

    web_add_header("Cache-Control", 
        "no-cache");

    lr_think_time(10);
//检查点函数
    web_reg_find("Text=Welcome",
        LAST);

    
    web_submit_form("login.pl", 
        "Snapshot=t9.inf", 
        ITEMDATA, 
        "Name=username", "Value=kongsh23", ENDITEM, 
        "Name=password", "Value=kongsh23", ENDITEM, 
        "Name=passwordConfirm", "Value=kongsh23", ENDITEM, 
        "Name=firstName", "Value=kongsh", ENDITEM, 
        "Name=lastName", "Value=kongsh", ENDITEM, 
        "Name=address1", "Value=bj", ENDITEM, 
        "Name=address2", "Value=bj", ENDITEM, 
        "Name=register.x", "Value=65", ENDITEM, 
        "Name=register.y", "Value=6", ENDITEM, 
        LAST);

    return 0;
}

方式二:在录制的时候生成检查点函数

生成脚本:

Action()
{

    web_add_auto_header("Accept", 
        "text/html, application/xhtml+xml, image/jxr, */*");

    web_add_auto_header("Accept-Encoding", 
        "gzip, deflate");

    web_add_auto_header("Accept-Language", 
        "zh-Hans-CN,zh-Hans;q=0.5");

    web_add_auto_header("DNT", 
        "1");

    web_add_auto_header("UA-CPU", 
        "AMD64");

    web_add_auto_header("User-Agent", 
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko");

/*Correlation comment - Do not change!  Original value='126048.601863102ztiDzctpQfiDDDDDDiQAVpHtQHf' Name ='userSession' Type ='ResponseBased'*/
    web_reg_save_param_regexp(
        "ParamName=userSession",
        "RegExp=name=\"userSession\"\\ value=\"(.*?)\"/>\\\n<table\\ border",
        SEARCH_FILTERS,
        "Scope=Body",
        "IgnoreRedirections=No",
        "RequestUrl=*/nav.pl*",
        LAST);

    web_url("WebTours", 
        "URL=http://localhost:1080/WebTours/", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t23.inf", 
        "Mode=HTML", 
        LAST);
 //自动生成的检查点
    web_reg_find("Text=xiaoa2", 
        LAST);

    web_add_header("Cache-Control", 
        "no-cache");

    lr_think_time(17);

    web_submit_data("login.pl",
        "Action=http://localhost:1080/cgi-bin/login.pl",
        "Method=POST",
        "RecContentType=text/html",
        "Referer=http://localhost:1080/cgi-bin/nav.pl?in=home",
        "Snapshot=t25.inf",
        "Mode=HTML",
        ITEMDATA,
        "Name=userSession", "Value={userSession}", ENDITEM,
        "Name=username", "Value=xiaoa2", ENDITEM,
        "Name=password", "Value=xiaoa2", ENDITEM,
        "Name=JSFormSubmit", "Value=on", ENDITEM,
        "Name=login.x", "Value=68", ENDITEM,
        "Name=login.y", "Value=15", ENDITEM,
        LAST);

    return 0;
}

回放结果:

 

图片检查点:web_image_check函数

检查服务端返回的HTML页面是是否存在指定的图像,函数定义如下:

int web_image_check(constchar * CheckName,<Listof Attributes>,<“Alt = alt”||“Src =src”>,LAST);

CheckName:图像检查的名称,函数标题,它显示在测试树中。

Alt:检查图像的ALT标签。空的Alt字符串是非法的。

Src:检查图像的SRC标签。空的Src字符串是非法的。

LAST:指示字段列表结束的标记。

 

web_image_check("Go2Venus", "Alt=Venus", LAST );

注意:图片检查点函数必须在Run-time Settings中打开Preferences下的Enable Image and text check才有效果。否则会出现以下提示

 

步骤一:先执行一遍录制生成脚本

步骤二:插入web_image_check函数

步骤三:生成函数

web_image_check("image_check",//函数名称
    "Alt=SignOff Button",//图片的alt属性
    LAST);

步骤四:回放结果:

参考链接:

http://blog.sina.com.cn/s/blog_13cc013b50102v3vw.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值