LoadRunner自带程序登录功能关联演示

本文主要讲解一下LoadRunner的关联技术,我们以LoadRunner自带的WEB订票程序为范例,首先录制一段LoadRunner自带的飞机订票程序,录制登录功能即可。

为了让自带程序登录时验证Session,在录制登录脚本前,需要对订票程序做一些设置,启用隐藏字段标记(Session)

1)打开订票程序WEB网站,点击Administrator链接:

2)进入管理页面,选中Set LOGIN form's action tag to an error page

3)点击管理页面最下方的update按钮,保存并更新配置。

 

好,做完设置之后,我们开始录制一个登录操作脚本,录制登录操作后,产生的一段代码为:

Action()
{

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

 lr_think_time(20);

 lr_start_transaction("login");

 web_submit_data("login.pl",
  "Action=http://127.0.0.1:1080/WebTours/login.pl",
  "Method=POST",
  "RecContentType=text/html",
  "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
  "Snapshot=t2.inf",
  "Mode=HTML",
  ITEMDATA,
  "Name=userSession", "Value=109939.233211827fzftQQQpDAiDDDDDDDQcQpQQfif", ENDITEM,
  "Name=username", "Value=jojo", ENDITEM,
  "Name=password", "Value=bean", ENDITEM,
  "Name=JSFormSubmit", "Value=on", ENDITEM,
  "Name=login.x", "Value=43", ENDITEM,
  "Name=login.y", "Value=7", ENDITEM,
  LAST);

 lr_end_transaction("login",LR_AUTO);

 return 0;
}

直接进行回放,在Replay Log中,可以看到,没有任何报错,呵呵,脚本运行成功了:),我可以开始准备设计场景运行该脚本了。

别急,其实脚本是执行不成功的,如果现在就用这个脚本进行测试,那意味着你进行了一次错误的测试。

这里,我想说的是:LoadRunner没有报错,并不代表脚本就没有错误,如果LoadRunner报错了,那脚本就一定存在错误。LoadRunner在这一点是不可信的。

不信的话,你可以在在tree View视图中,从回放截图中可以看出,回放失败,并没有进入登录后页面,如下图所示:

从录制的脚本中可以看出,上段脚本中,亮红色标记的user Session是每次都会动态变化的,需要进行关联,

在这里,关联用的函数为web_reg_save_param,打印关联的结果函数为lr_output_message

Action()
{
     web_reg_save_param("usersession",

    "LB=name=userSession value=",
    "RB=>",
    "ORD=1",
    LAST);


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

 lr_think_time(20);

//脚本录制时产生的SessionId,我做个备份

 //109939.233211827fzftQQQpDAiDDDDDDDQcQpQQfif

 lr_start_transaction("login");


 web_submit_data("login.pl",
  "Action=http://127.0.0.1:1080/WebTours/login.pl",
  "Method=POST",
  "RecContentType=text/html",
  "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
  "Snapshot=t2.inf",
  "Mode=HTML",
  ITEMDATA,
  "Name=userSession", "Value={usersession}", ENDITEM,    //替换动态生成的user Session
  "Name=username", "Value=jojo", ENDITEM,
  "Name=password", "Value=bean", ENDITEM,
  "Name=JSFormSubmit", "Value=on", ENDITEM,
  "Name=login.x", "Value=43", ENDITEM,
  "Name=login.y", "Value=7", ENDITEM,
  LAST);

 lr_end_transaction("login",LR_AUTO);

    lr_output_message ( "usersession: %s", lr_eval_string ( "{usersession}" ) );   //打印关联到的user Session

 return 0;
}
然后再进行回放,可以看出回放成功,并且脚本正确输出usersession:

 

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值