明确LoadRunner可以输出的结果

明确LoadRunner可以输出的结果

上一篇 / 下一篇  2007-08-13 16:59:44

明确LoadRunner可以输出结果

最近刚刚忙完一个项目的测试,又开始闲了起来,还是琢磨琢磨一些东西,给大家一些参考!

PS:本人在51testing和sina blog上的文章全部为原创转载请注明出处!!

 

我们都知道软件的功能其实就是输入和输出,有了输入就有输出;例如你做了一个操作,可能返回一个提示,也可能打开一个新的窗口;而测试,其实就是组合输入,确认各种输出的正确性,就像测试一个函数,你组合不同的输入参数值,达到遍历函数的所有路径,并返回对应的值。

熟知loadrunner可以输出哪些结果,对我们对整个测试过程把握非常重要,当然也是测试分析中很重要的数据

Loadrunner脚本的执行也是一种测试输入,我们通常可以获得那些输出呢?(这些只是我总结的,实际可能不只这些哈!)

先说说脚本回放过程:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1、message系列函数
详见:《message函数详细分析》
http://www.51testing.com/?6343/action_viewspace_itemid_13643.html

2、写log文件
    写log文件主要是使用c语言的函数来进行,涉及的函数有fopen、fclose、fprintf这三个;      
    写一个例子给大家:
========================================================
Action()
//先在D盘根目录创建一个文件夹,名为:“lr_log”
{
    char *address="D://lr_log//01.log"; //定义log文件输出的地址和名称
    long filename;//定义存储文件指针的变量
    int i;
    if ((filename=fopen(address,"a+"))==NULL)//打开文件
    {
        lr_error_message("can not open this file,address=%s",address);
        return -1;
    }
    for (i=1;i<11;i++)
    {
        fprintf(filename,"我的第%d条log.../n",i);
    }
    fclose(filename);//关闭文件
    return 0;
}
=======================================================
脚本回放完毕去D盘lr_log文件夹下打开01.log文件,得到结果:
我的第1条log...
我的第2条log...
我的第3条log...
我的第4条log...
我的第5条log...
我的第6条log...
我的第7条log...
我的第8条log...
我的第9条log...
我的第10条log...

3、被测试程序的实际输出
   这个就不难理解了,查看是否输出了具体的值或者执行的操作; :)

 


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
场景监视过程:
1、vuser的log
   Loadrunner场景监视过程中,是可以查看某个vuser运行的log的;
   具体的操作步骤:
   A、打开vuser信息窗口(双击用户组中运行的vuser即可打开窗口)
   B、选择你要查看的vuser的信息,右键选择Show vuser log
   C、可以查看vuser的log了,这里的log不能显示lr_message、lr_log_message输出的log
   适当的增强脚本的log输出,可以让我们在vuser执行脚本出现问题时,准确的定位问题的位置;
   例如,在使用参数化用户名和密码登录某系统,脚本中使用lr_output_message打印出当前的参数值,如果登录失败,那么用手动去登录试试,这样就能检查出是否是参数的数据有问题了;如果结合返回的错误来进行判断,那就更完美了。举个例子吧:

我输入一个网址,网址中包含若干参数(ID、password),网址提交后IE返回登录结果(A/X/Z/D);返回A代表登录成功,返回X代表登录失败,返回Z和D是其他情况;
/*********************************
  * Author:qiguojie
  * object:software login
  * date:2007-5-28
***********************************/
Action()
{
//变量定义区
    typedef long time_t;       //定义一个时间变量
    time_t t;        //定义一个时间变量
    web_reg_save_param("IsRight","LB=Cache-control: private/r/n/r/n","RB=|",LAST);  //保存返回值
    time(&t);        //获取当前时间
    web_url("abclogin.asp",
        "URL=http://192.168.1.9/soft/abclogin.asp?U={user}&P={password}&L=0&H=3HS28QKH",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t1.inf",
        "Mode=HTML",
        LAST);
    lr_output_message("%s,随机数是%d,",ctime(&t),n);
    lr_output_message("用户是:%s,密码是:%s,",lr_eval_string("{user}"),lr_eval_string("{password}"));
//判断返回值,输入对应日志
    if (strcmp(lr_eval_string ("{IsRight}"),"A") == 0)//如果返回值是A
    {
        lr_output_message("success:用户登录成功,返回值是:%s",lr_eval_string("{IsRight}"));
    }
    else if (strcmp(lr_eval_string ("{IsRight}"),"X") == 0) //如果返回值是X
    {
        lr_output_message("failed:用户登录失败,返回值是:%s/n",lr_eval_string("{IsRight}"));
    }
    else if (strcmp(lr_eval_string ("{IsRight}"),"Z") == 0)//如果返回值是Z
    {
        lr_output_message("success_others:登录特殊页成功,返回值是:%s/n",lr_eval_string("{IsRight}"));
    }
    else //如果返回值是D
    {
        lr_output_message("success_free:登录免费用户成功,返回值是:%s/n",lr_eval_string("{IsRight}"));
    }
    return 0;
}


2、事务执行情况
   在controllor里执行场景时,是可以即时监视事务的执行情况的,单击Run选项卡里Passed或Failed Transactions后面的放大镜图标,就可以打开;
   可以监视的参数如下:
   A、不同事务的tps
   B、不同事务的Passed、Failed以及Stopped状态数
   TPS(Transactions per second):每秒事务数,衡量目前场景执行过程中的事务处理速度,越大说明目前事务执行效率越高;当然,你的事务中包含多个函数还是只有web_url一个函数,这个tps肯定是不同的,所以我只拿这个指标做监视用;


3、ERROR
   在controllor里执行场景时出现错误,是可以即时查看错误信息的,,单击Run选项卡里的Errors后面的放大镜图标,可以打开;另外还可以通过菜单view-show output来打开
   具体的功能大家就自己发掘吧,呵呵

当然,结果分析(Analysis)是lr最重要的输出,具体也就不介绍了;论坛和博客里有很多帖。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值