51Testing丛书连载:(十八)性能测试从零开始——LoadRunner入门

发表于:2008-8-14 16:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:柳胜    来源:51Testing软件测试网

  5.5  脚本视图和树视图
  VU提供两种视图来查看脚本的内容,一个是脚本视图,另一个是基于图标的树视图(内有快照)。
  所有类型的Vuser都有文本脚本视图,但是只有特定的Vuser才会有树视图。
  5.5.1  树视图(Tree View)
  Tree View也叫做基于icon的View,也就是说,脚本的每个函数在Tree View中都以一个带有icon的节点来代替。可以点击工具栏中的“Tree”按钮或者在“View”菜单下选择“Tree View”,显示VU树视图,如图5-20所示。

  图5-20  VU树视图
  Tree View的好处是使用户更方便地修改脚本,Tree View支持拖拽,用户可以把任意一个节点拖拽到他想要的地方,从而达到修改脚本的目的。用户可以右键单击节点,进行修改/删除当前函数参数属性,增加函数等操作,通过Tree View能够增加LoadRunner提供的部分常用通用函数和协议相关函数。比如Web Service Vuser就不能通过Tree View参数化一些复杂的数据类型,在这种情况下,就需要Script View了。
  5.5.2  脚本视图(Script View)
  在Script View中能够看到一行行的API函数,Script View适合一些高级用户,通过Script View向脚本中增加一些其他API函数。可以单击工具栏上的“Script”按钮或者在“View”菜单下选择“Script View”,显示VU脚本视图,如图5-21所示。
  注意:当用户在Script View中对脚本做了修改之后,Tree View也会做相应的变化。如果脚本有语法错误,Script View将不能转化为Tree View或缩略图。

  图5-21  VU脚本视图
  5.5.3  理解Snapshot
  Snapshot,顾名思义,就是快照,代表当前的step,Snapshot显示了客户端在执行完当前step后的样子。在Tree Ciew右侧的frame中可以查看Snapshot,在LoadRunner 8.0中,Snapshot包含Page View、Client Request和Server Response。Snapshot有两种生成方式,一种是在record的时候生成,另一种是在replay的时候生成。你可以对比两种方式生成的Snapshot,以发现哪些是动态值,需要参数化。
  5.6  事务、同步点和思考时间
  5.6.1  Transaction(事务)
  事务是计算机程序设计中一个很重要的概念。一个事务应该具有原子性、一致性、隔离性和持久性。这4个属性的详细解释在网上都可以找到。在LoadRunner里,我们定义事务主要是为了度量服务器的性能。每个事务度量服务器响应指定的Vuser请求所用的时间,这些请求可以是简单任务(例如等待对单个查询的响应),也可以是复杂任务(例如提交多个查询和生成报告)。
  要度量事务,需要插入Vuser函数以标记任务的开始和结束。在脚本内,可以标记的事务不受数量限制,每个事务的名称都不同。
  在场景执行期间,Controller将度量执行每个事务所用的时间。场景运行后,可使用LoadRunner的图和报告来分析各个事务的服务器性能。
  设置Transaction的方法如下:
  选择新Transaction开始点,在被度量脚本段之前插入lr_start_transaction。
  选择新Transaction结束点,在被度量脚本段之后插入lr_end_transaction。
  下面的脚本例子中将登录操作设为一个名为“login”的事务:

Lr_start_transaction("login");

web_submit_form("auth",

       "Snapshot=t2.inf",

       ITEMDATA,

       "Name=ssousername",

       "Value=robin", ENDITEM,

       "Name=password", "Value=123456", ENDITEM,

       "Name=remember", "Value=<OFF>", ENDITEM, 

       LAST);

Lr_end_transaction("login”);

  如果上面手工插入Transaction函数看作是“显式事务”的话,那么LoadRunner还提供了一种“隐式事务”的机制,在VU的Run-time Settings中又称为“自动事务”。
  在Run-time Settings中,在Miscellaneous选项卡的Automatic Transactions中定义自动事务。
  可以设置LoadRunner直接按事务处理Vuser中的每个Action或step。这里,Action指的是vuser_init、Action和vuser_end三大函数,而step指的是LoadRunner执行的每个函数。LoadRunner将Action名或step名指定为事务名。在默认情况下,将启用按Action使用自动事务的功能,如图5-22所示。

  

  图5-22  VU定义自动Transaction
  要禁用按操作使用自动事务的功能,清除“Define each action as a transaction”复选框(默认情况下启用)。
  要启用按步骤使用自动事务的功能,选中“Define each step as a transaction”复选框(默认情况下禁用)。

  提示:Transaction的开始点和结束点必须在一个Action中,跨越多个Action是不允许的。
  Transaction的名字在脚本中必须是唯一的,当然也包括在多Action的脚本中。
  你也可以在一个Transaction中创建另外一个Transaction,叫做Nested Transaction。详细使用方法可参看LoadRunner函数手册。

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • guzhou_78
    2010-11-26 14:10:24

    很好,收益匪浅,希望能继续

  • devil_xxg
    2008-8-18 16:26:00

    没有了?还有没有了啊

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号