LoadRunner 技巧之 添加事务

长平狐 发布于 2013/03/12 13:22
阅读 125
收藏 0

 

事务(Transaction)用于模拟用户的一个相对完整的、有意义的业务操作过程,例如登录、查询、交易、转账,这些都可以作为事务,而一般不会把每次HTTP请求作为一个事务。

拿笔者所测试的邮箱系统为例,对于邮箱来说更基本且用户使用最多的应用就是收发邮件功能,我们可以拿发邮件看作一个事务:打开写信页,填写收件人,主题,内容,点击发信。在做性能需求分析的时候也就是把系统的业务抽离出来,在性能脚本中用事务来描述。

我们在录制脚本的过程中,可以通过录制面板的事务按钮来添加事务。

 

同样以loadrunner 自带WebTours为例,操作步骤:

1、WebTours首页

2、点击事务开始按钮,输入“登录”

3、输入用户名密码点击登录按钮

4、点击事务结束按钮,确定。(注意:事务的开始与结束的名称一定要一致)

脚本如下

Action(){ web_url( " WebTours " , " URL=http://127.0.0.1:2080/WebTours/ " , " Resource=0 " , " RecContentType=text/html " , " Referer= " , " Snapshot=t3.inf " , " Mode=HTML " , EXTRARES, " Url=../favicon.ico ", " Referer= " , ENDITEM, LAST); lr_start_transaction( " 登陆 "); //事务开始函数 web_submit_data( " login.pl " , " Action=http://127.0.0.1:2080/WebTours/login.pl " , " Method=POST " , " Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home " , " Mode=HTML " , ITEMDATA, " Name=userSession ", " Value=110409.949777238fzHQcVVpHQVzzzzHDtAHfpcHAHf " , ENDITEM, " Name=username ", " Value=test " , ENDITEM, " Name=password ", " Value=123456 " , ENDITEM, " Name=JSFormSubmit ", " Value=on " , ENDITEM, LAST); web_submit_data( " login.pl_2 " , " Action=http://127.0.0.1:2080/WebTours/login.pl " , " Method=POST " , " RecContentType=text/html " , " Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home " , " Snapshot=t4.inf " , " Mode=HTML " , ITEMDATA, " Name=userSession ", " Value=110409.949777238fzHQcVVpHQVzzzzHDtAHfpcHAHf " , ENDITEM, " Name=username ", " Value=test " , ENDITEM, " Name=password ", " Value=123456 " , ENDITEM, " Name=JSFormSubmit ", " Value=on " , ENDITEM, " Name=login.x ", " Value=51 " , ENDITEM, " Name=login.y ", " Value=12 " , ENDITEM, LAST); lr_end_transaction( " 登陆 ",LR_AUTO); //事务结束函数 return 0 ;}

 

查看运行结果

Action.c(15): Notify: Transaction "登陆" started.Action.c(17): web_submit_data("login.pl") was successful, 795 body bytes, 225 header bytes [MsgId: MMSG-26386]Action.c(29): web_submit_data("login.pl_2") was successful, 795 body bytes, 225 header bytes [MsgId: MMSG-26386]Action.c(45): Notify: Transaction "登陆" ended with "Pass" status (Duration: 0.5704 Wasted Time: 0.0152).

通过运行结果我们可以很清晰地看到本次事务是pass的,整个脚本的持续时间和事务的消耗时间等。 

 

插入事务的方法:

插入事务操作可以在录制脚本过程中,也可以在录制结束后进行。可以在脚本中找到需要添加事务的部分,直接插入:

-------------------------------------------------

lr_start_transaction("事务");

.....

lr_end_transaction("事务",LR_AUTO); 

------------------------------------------------

注意:1、开始与结束函数必须成对出现

  2、事务的名称必须一样。

 

当然,我们也可以将鼠标定位到要插入事务的位置,通过菜单栏来插入事务(insert--->start transaction/end transaction

 

---------------------------------------------------------------------------

  到些,loadrunner 脚本的一些基本设置已经介绍完了。你疑问,是不是少了很重要的概念,参数化。

LoadRunner参数化详解   之间有做过介绍,这里也不再重复。

 

 


原文链接:http://www.cnblogs.com/fnng/archive/2013/03/11/2954801.html
加载中
返回顶部
顶部