Controller中的参数—性能测试进阶指南 LoadRunner 11实战(第二版)

发表于:2015-1-14 11:14

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

 作者:陈霁、李锋、王臣钧    来源:51Testing软件测试网原创

  A.6.4  Controller中的参数
  场景是生成负载的关键部分,那么当脚本在场景中被多个用户执行时,参数会如何变化呢?
  首先介绍一下场景设置的入门知识。
  打开Tools菜单下的Create Controller Scenario选项,会弹出如图A.89所示的窗口。
  
图A.89  创建场景设置窗口
  在这里选择Manual Scenario(手工场景),虚拟用户数为5个,其他选项使用默认值,确定后进入场景设计首页。在打开的场景中,修改如下几个选项:
  (1)在设计场景栏目中将Run Mode修改为Basic schedule,如图A.90所示。
  
图A.90  场景默认设置
  这样脚本会只运行一次。
  (2)确认场景中的Run-Time Settings,单击Scenario Groups中的Run-Time Settings按钮,如图A.91所示。
  
图A.91  设置场景Run-Time Settings
  打开场景中Run-Time Settings下的General:Log设置。确保Log options是Always send messages并且选中Parameter substitution,否则在场景日志中看不到参数取值的结果。
  (3)确认测试结果目录。场景运行结果保存的目录是在Results菜单下设置的,打开Controller中Results菜单下的Results Settings选项,如图A.92所示。
  
图A.92  设置场景数据保存的地址
  确认生成的测试报告所在的目录及对应的结果名。
  当以上内容确定后,运行整个场景,单击Start Scenario按钮或者按【F5】键。
  几秒钟后脚本就会执行完,可以到f:\paramtest\res\log目录中找到需要的日志文件。文件名使用的是"脚本名_用户编号.log"的形式,有几个用户就会有几个文件。如果脚本出错,对应该用户的日志就不会生成。
  接着来看一下不同的取值方式在场景中的效果,场景可以生成多个用户运行一个相同脚本。
  这里使用的脚本如下所示:
  Action()
  {
  lr_eval_string("{paramzhongwen}");
  lr_eval_string("{paramzhongwen}");
  return 0;
  }
  在Run Logic中将迭代次数设置为2。
  在多用户执行脚本时,如果需要修改脚本执行的iteration,必须在Controller的Run-time Settings中进行修改,而不能修改VuGen中的Run-time Settings。
  使用顺序取值得到的结果如表A.7所示。
  表A.7  场景下顺序取值的各种情况
  可以看到,在顺序取值下,每个用户所使用的数据都是完全相同的,因为它们都是按照相同的取值方式和更新方式获得参数值的,在注册用户这样的脚本中,就不能使用顺序取值的方式来实现多用户操作,否则会有大量的用户操作是多余无效的(使用Sequential+Once可以在场景中将参数当作常量来使用)。
  接着来看看随机取值的结果会怎么样,执行相同的脚本和设置,取值方式修改为随机(由于随机取值的内容无法确定,这里的结果不唯一),如表A.8所示。
  表A.8  场景下随机取值的各种情况
  在随机的取值方法下,每个用户的每次取值都会随机产生。
本文选自《性能测试进阶指南—LoadRunner 11实战(第二版)》,本站经作者的授权。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号