LoadRunner检查点学习实例

LoadRunner只会检测脚本中事务的执行状态,而实际的事务执行结果则需要通过检查点来完成。

 

 

 

例如一个登录事务,LR只关心事务本身的执行状态,也就是说哪怕实际操作密码错误产生登录失败的业务操作,其事务本身也是执行成功

设置检查点,检测“登录”事务执行状态和是否登录成功 

一则简单的登录脚本:

 

Action()
{

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

    web_url("favicon.ico", 
        "URL=http://127.0.0.1:1080/favicon.ico", 
        "Resource=1", 
        "Referer=", 
        LAST);

    web_reg_find("Text=Error","SaveCount=ecc");  //插入检查点

    web_submit_form("login.pl", 
        "Snapshot=t2.inf", 
        ITEMDATA, 
        "Name=username", "Value=kkk001", ENDITEM, 
        "Name=password", "Value=123k001", ENDITEM,   //错误的密码
        "Name=login.x", "Value=33", ENDITEM, 
        "Name=login.y", "Value=1", ENDITEM, 
        LAST);


    if(atoi(lr_eval_string("{ecc}"))>0)
        lr_error_message("登录失败");

    return 0;
}

 

web_reg_find() 函数: "Text=Error", 表示要检查什么内容,例子中登录失败跳转的页面中会存在Error字符。 "SaveCount=ecc"表示当检测到符合检查规则的内容时,开始计数并将计数存入ecc参数内。

思路就是利用检查Error字符来判断是否真正登录成功,因此将密码故意改成错的。

看下回放日志:

 

从图中可以看到检查到Error字符,count=3

根据脚本中的判断逻辑,在运行结果中打印出消息
 if(atoi(lr_eval_string("{ecc}"))>0)
  lr_error_message("登录失败");

atoi: ASCII to Integer. 通过lr_eval_string将参数{ecc}的字符内容取出并转成数字型

结果中可以看到,虽然实际登录失败了,但作为登录事务本身是执行成功的。

 

 

posted @ 2014-03-05 10:09  KK&TT  阅读(508)  评论(0)    收藏  举报
AmazingCounters.com