LoadRunner 技巧之添加事务

事务(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 脚本的一些基本设置已经介绍完了。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 00:06:12

LoadRunner 技巧之添加事务的相关文章

LoadRunner 技巧之 添加事务

事务(Transaction)用于模拟用户的一个相对完整的.有意义的业务操作过程,例如登录.查询.交易.转账,这些都可以作为事务,而一般不会把每次HTTP请求作为一个事务. 拿笔者所测试的邮箱系统为例,对于邮箱来说更基本且用户使用最多的应用就是收发邮件功能,我们可以拿发邮件看作一个事务:打开写信页,填写收件人,主题,内容,点击发信.在做性能需求分析的时候也就是把系统的业务抽离出来,在性能脚本中用事务来描述. 我们在录制脚本的过程中,可以通过录制面板的事务按钮来添加事务.   同样以loadrun

LoadRunner使用技巧:添加事务

事务(Transaction)用于模拟用户的一个相对完整的.有意义的业务操作过程,例如登录.查询.交易.转账,这些都可以作为事务,而一般不会把每次HTTP请求作为一个事务. 拿笔者所测试的邮箱系统为例,对于邮箱来说更基本且用户使用最多的应用就是收发邮件功能,我们可以拿发邮件看作一个事务:打开写信页,填写收件人,主题,内容,点击发信.在做性能需求分析的时候也就是把系统的业务抽离出来,在性能脚本中用事务来描述. 我们在录制脚本的过程中,可以通过录制面板的事务按钮来添加事务. 同样以loadrunne

LoadRunner 技巧之 集合点设置

  Loadrunner 技巧已经整理4篇了,你个一定疑问,这些知识点,网上随处可见.确实,由于长时间没有使用这个工具,造成我的一些概念开始在大脑中模糊,我只是用这种方式来温习. ---------------------- 在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户.而simultaneous与集合点(rendzvous point)关系更密切,是指在同一时刻一起执行

LoadRunner 技巧之集合点设置

Loadrunner 技巧已经整理3篇了,你个一定疑问,这些知识点,网上随处可见.确实,由于长时间没有使用这个工具,造成我的一些概念开始在大脑中模糊,我只是用这种方式来温习. ---------------------- 在loadrunner的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户.而simultaneous与集合点(rendzvous point)关系更密切,是指在同一时刻一起执行某个

LoadRunner 技巧之 思考时间设置

用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信息是否正确等. 也就是说用户在做某些操作时,是会有停留时间的,我把这个时间叫思考时间.但利用代码去执行的时候是没有时间的,当然,脚本运行本身是需要时间的,但比起人的思考时间要小很多.这也是我们为什么要用软件来代替人的某些工作. 但有时候,我们在做性能测试时,为了更真实的模拟用户的操作,需要给代码加入思考时间.来看看在loadrunner是如何

LoadRunner 技巧之思考时间设置

用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信息是否正确等. 也就是说用户在做某些操作时,是会有停留时间的,我把这个时间叫思考时间.但利用代码去执行的时候是没有时间的,当然,脚本运行本身是需要时间的,但比起人的思考时间要小很多.这也是我们为什么要用软件来代替人的某些工作. 但有时候,我们在做性能测试时,为了更真实的模拟用户的操作,需要给代码加入思考时间.来看看在loadrunner是如何

spring事务回滚只能配在service层吗。为什么我想在Test中添加事务不能进行回滚呢

问题描述 spring事务回滚只能配在service层吗.为什么我想在Test中添加事务不能进行回滚呢 <tx:advice id="txAdvice2" transaction-manager="txManager"> <tx:attributes> <tx:method name="inserttwo*" propagation="REQUIRED"/> </tx:attribut

《树莓派实战秘籍》——1.16 技巧16添加USB串行控制台

1.16 技巧16添加USB串行控制台 按理来说访问类似树莓派这样的嵌入式设备的最常用方式应该是通过内置的串行设备访问.这个简单的技巧可以让你从树莓派中得到一个USB串行控制台. 今天几乎所有可用的通用嵌入式计算机和微控制器都有内置的通用异步接收/发送器(UARTs).UART对接收和发送串行数据提供了一个机制,同一时间只发送一个bit,串行通信的这种方法有时被称作晶体管-晶体管逻辑(TTL,transistor-transistor logic)序列.其数据速率因设备而异,但测量单位都是比特每

spring-Spring4整合Hibernate4添加事务后出NoSuchMethodError

问题描述 Spring4整合Hibernate4添加事务后出NoSuchMethodError 错误信息: 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error c