第4课:准备Vuser脚本进行负载测试

在前面的课程中,您确认您的Vuser脚本的回放产生了真正的用户的精确仿真。下一个步骤是准备的脚本负载测试。如何将多用户系统同时工作的工作?会拖慢系统到不可接受的程度?

在本课程中,您将了解不同的方法来增强此脚本,并为负载测试过程更加有效。

在这一课中,你将涵盖以下主题:

如何衡量一个业务流程的持续时间?

当准备部署的应用程序,你需要衡量具体业务的持续过程,它是如何需要很长时间来登录,预订机票等。每个业务流程通常是由在脚本的一个或多个步骤或动作。在Vuser脚本,您指定一系列您希望通过在一个这些行动来衡量行动的事务

当您运行Vuser脚本,包括交易,LoadRunner将收集信息,大概需要执行事务的时间,并显示在彩色编码图和报告结果。您可以使用这些信息来帮助确定该申请符合性能要求。

您可以手动在Vuser脚本的任意位置插入交易。来标记一组步骤作为交易,插入一个start_transaction的第一步和前标记end_transaction在最后一步之后标记。

在本节中,你将插入一个交易到脚本来衡量所花费的时间为用户查找和确认航班的数量。

要插入到交易Vuser脚本:

  1. 在VuGen中,打开Basic_Tutorial你中创建脚本第1课:构建Vuser脚本。如果它仍然是开放的,可以选择显示其名称的选项卡。否则,你可以在打开文件菜单。
  2. 单击步骤导航器选项卡以显示步骤导航。
  3. 插入一个开始事务。
    1. 在步骤导航,定位步骤图片:国际航班查询按钮
    2. 双击图片:国际航班查询按钮的步骤,显示相应的web_image在编辑器中的步骤。
    3. 点击查看>步骤工具箱。步骤工具箱出现在右窗格中。
    4. 在步骤工具箱,在公共选择lr_start_transaction,将其拖到编辑器,和之前释放它web_image一步。打开开始事务对话框。

    5. 事务名称框中,输入find_confirm_flight并单击OK。VuGen将一个lr_start_transaction在步骤导航步骤以及相应的lr_start_transaction在编辑器的功能。
  4. 插入一个结束事务标记。
    1. 在步骤导航器中,找到步提交表单:reservations.pl
    2. 双击提交表格:reservations.pl步骤,以显示相应的web_submit_form在VuGen中编辑的步骤。
    3. 在步骤工具箱,在公共选择lr_end_transaction,将其拖到编辑器和后释放web_submit_form一步。打开结束事务对话框。

    4. 确保find_confirm_flight出现在交易名称框,然后单击确定。VuGen将一个lr_end_transaction在步骤导航步骤以及相应的lr_end_transaction在编辑器的功能。

      现在,您已经定义了find_confirm_flight交易。

我如何模拟多个用户?

在您的仿真,您跟踪用户预订机票,并选择靠走道的座位。在现实生活中的设置,但是,不同的用户将具有不同的偏好。为了提高您的测试,你需要检查,如果当用户选择不同的座位喜好预订将工作(过道窗口)。

要做到这一点,你就会参数的脚本。这意味着你采取的入账价值,过道,并用参数替换它。您将放置值在参数文件中的参数。当您运行脚本时,Vuser将使用参数文件(值过道窗口),从而模拟真实的旅行社环境。

参数化脚本:

  1. 找到你想要改变的数据部分。
    1. 选择视图>步骤导航显示导航步在左窗格中。
    2. 在步骤导航,定位提交表单:reservations.pl一步。
    3. 右键单击提交表单:reservations.pl步骤,并选择显示参数。打开提交表单步骤属性对话框。

      美国广播公司图标到网格中每个参数的权表示该说法有一个固定值。

  2. 固定值更改为不同的值。
    1. 在提交表单步骤属性对话框中,选择seatPref网格的第七排。
    2. 点击ABC图标毗邻seatPref参数。打开选择或创建参数对话框。

  3. 创建参数。
    1. 参数名称框中,键入座位
    2. 点击OK。在提交表单步骤属性对话框中,VuGen将替换ABC图标参数图标

    3. 点击参数图标毗邻{}座位,选择参数属性。打开参数属性对话框。

  4. 指定的参数值。
    1. 点击添加行。VuGen将添加行到表中。
    2. 更换字窗口
    3. 点击添加行。VuGen将增加另一行表。
    4. 更换字

      注意:这些值不区分大小写。

    5. 保持在默认的设置,选择列文件格式对话框的部分。
  5. 定义测试将如何变化的数据。
    1. 记住,指示VuGen采取新的值每次迭代的默认设置: 每一次迭代:对更新值
    2. 点击关闭,关闭参数属性对话框。
    3. 点击确定关闭提交表单步骤属性对话框。

      您现在已经创建了座位偏好的参数。当您运行负载测试,这些Vuser将使用参数值来代替的入账价值,过道

      当您运行脚本,重播日志将显示出现了每次迭代的参数替换。该Vuser将使用过道对于第一次迭代,窗口的第二次迭代,并且没有对于第三次迭代。

如何验证网页内容?

运行测试时,你经常需要验证,如果某些内容被返回的页面上找到。A含量检查验证脚本运行时出现在网页上预期的信息。您可以将两种类型的内容检查:

  • 文本检查。检查时显示的网页上的文本字符串。
  • 图像检查。检查网页上的图像。

在本节中,你将插入一个文本检查来检查,如果这句话查找航班出现的HP Web之旅的预订页面上。

插入文本检查

  1. 单击步骤导航器选项卡以显示步骤导航。
  2. 在步骤导航,定位提交表单:reservations.pl一步。
  3. 在VuGen工具栏上,单击显示窗格中的快照按钮来显示快照窗格。
  4. 在步骤导航器,双击该快照图标提交表单:reservations.pl一步。相应的快照出现在快照窗格中。
  5. 从VuGen将菜单中,单击查看>步骤工具箱。出现的步骤工具箱窗格。
  6. 在步骤工具箱-搜索框,类型web_reg,然后找到web_reg_find在步骤筛选结果
  7. 拖动web_reg_find的之前从工具箱进入编辑器的步骤,web_submit_form功能。打开查找文本对话框。
  8. 在查找文本对话框中,键入查找航班进入搜索特定的文本框,然后单击确定
  9. VuGen将一个web_reg_find踏入步骤Navigator和相应的web_reg_find函数进入编辑器。

    当您回放脚本时,VuGen将查找文本查找航班,并指出在回放日志文本是否被找到。

我怎么可能产生的调试信息?

在试运行期间的某些点,您可能要生成和发送包含有关脚本执行信息的消息。这些输出消息将同时出现在回放日志在输出窗格中,并在控制器的输出窗口。您可以发送标准输出消息或表示出现了错误的消息。

与错误信息的工作推荐的方法是检查一个失败的状态。如果状态为失败,您指示VuGen发出错误消息。有关详细信息,请参考实例函数参考

在本节中,您将指示VuGen插入输出消息应用程序完成一个完整的预订后。

要插入输出消息:

  1. 单击步骤导航器选项卡以显示步骤导航。
  2. 在步骤导航器,定位到最后一步,图片:签收按钮
  3. 双击图片:签收按钮一步。该编辑器将显示相应的web_image功能。
  4. 在工具箱中的步骤,在通用,找到lr_output_message功能。
  5. 选择lr_output_message功能,将其拖动到编辑器,后释放 web_image功能。打开输出消息对话框。

  6. 在消息文本框中,键入该航班被黄牌警告。
  7. 点击OK。VuGen将添加一个lr_output_message到脚本,并在步骤导航器的相应步骤。

  8. 点击保存按钮VuGen工具栏上保存脚本。

注意:要插入一个错误信息,重复同样的过程,只是在步骤工具箱中选择一个lr_error_message功能,而不是lr_output_message功能。

难道我的测试的重播成功吗?

在本节中,您将运行脚本增强搜索和重播日志文本检查。您将查看文本检查的交易和参数的结果,以及详细信息。

默认情况下,因为它们需要更多的内存图片和文字检查都在播放过程中禁用。如果要执行图像或文本检查,您需要启用在运行时设置检查。

  1. 启用图像和文本检查。
    1. 双击点击运行时设置在左侧的Solution Explorer窗格节点,打开运行时设置视图。
    2. 点击Internet协议>首选项
    3. 选择启用图像和文本检查
    4. 点击确定关闭运行设置对话框。
  2. 运行脚本。

    点击重放按钮VuGen工具栏上。VuGen将开始运行脚本,在回放日志在输出窗格中生成的条目。

    等待脚本完成运行。

  3. 找到文本检查。
    1. 单击输出窗格,然后选择重播
    2. 点击重放日志,然后按Ctrl + F打开搜索对话框。
    3. 搜索web_reg_find

      一审认为,如下所示:

      web_reg_find开始

      点击查找下一个要显示的下一个实例web_reg_find。第二个实例表示如下:

      注册web_reg_find成功。

      这不是实际的文本检查,它只准备VuGen将检查表单提交后的文字。

      点击查找下一个要显示的下一个实例web_reg_find。这个实例表明:

      注册web_reg_find成功为“文本=查找航班”(计数= 1)。

      这验证了文被发现。如果有人更改了网页并删除这句话查找航班,然后在随后的运行中,输出将表示文本没有被发现。

  4. 定位在事务的开始。
    1. 在回放日志,请按Ctrl + F打开搜索对话框。
    2. 搜索单词交易。该通知以蓝色显示。
  5. 查看参数替换。
    1. 在回放日志,请按Ctrl + F打开搜索对话框。
    2. 搜索单词参数。日志中包含的通知“ 座位 ”=“ 过道 ”。
    3. 下一个替代试(F3)搜索。注意VuGen将如何进行每个迭代一个不同的值。
  6. 选择文件>保存或单击保存 按钮VuGen工具栏上。

注:来源为HP官网帮助中心 http://lrhelp.saas.hp.com/en/latest/help/WebHelp/Content/Tutorial/WebTours.htm

由于使用的google翻译,有些专有名词翻译的不准确,这个系列只是做个入门流程参考,望大家见谅哈~

LR12.53—第4课:准备Vuser脚本进行负载测试的更多相关文章

  1. LR12.53—第2课:准备脚本重播

    第2课:准备脚本重播 创建Vuser脚本后,可以通过从VuGen中运行它验证它.有时重播将失败,即使同样的动作在录制过程中取得了成功. 许多应用程序使用,每次使用应用​​程序时更改动态值.例如,某些服 ...

  2. LR12.53—第3课:重播Vuser脚本

    第3课:重播Vuser脚本 在前面的教训,你记录了一组典型的用户行为,并准备重播脚本. 重播脚本之前,您可以配置脚本的运行时设置,它定义了Vuser的行为. 注:记录与基于Web的协议的地方WebTo ...

  3. LR12.53—第1课:构建Vuser脚本

    第1课:构建Vuser脚本 要生成系统上的负载,首先建立一个可以运行以模拟真实用户行为Vuser脚本.您使用VuGen创建和构建Vuser脚本. 在这一课中,你将涵盖以下主题: 介绍VuGen将 - ...

  4. LR12.53—第5课:创建负载测试场景

    在前面的课程中,您使用VuGen将验证您的Vuser脚本.在本课中,您将评估多个Vuser的负载下您的系统.您将模拟十个旅行代理同时使用航班预订系统的行动,以及这些用户的负载下观察系统的行为.设计和运 ...

  5. LR12.53—第7课:分析场景

    第7课:分析场景 在前面的课程中,您学习如何设计,控制和执行方案运行.一旦您已加载您的服务器,你要分析的运行,并确定需要被淘汰,以提高系统性能的问题. 在图表和报告中有关方案的性能您的分析会议上提出的 ...

  6. LR12.53—第6课:运行负载测试

    第6课:运行负载测试 当你运行一个负载测试,LoadRunner将生成系统上的负载.然后,您可以使用LoadRunner的监控器和图形负载下,观察系统的性能. 在这一课中,你将涵盖以下主题: 一目了然 ...

  7. 【原创】LoadRunner Java Vuser脚本的配置和调试指南

    1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库 ...

  8. shell脚本中文件测试

    shell脚本中文件测试 author:headsen chen  2017-10-17  14:35:19 个人原创,转载请注明作者,否则 依法追究法律责任 [ -f  filename  ]   ...

  9. JMeter (3) —— JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial)

    JMeter (3) -- JMeter录制脚本并压力测试用户登陆场景以CAS SSO为例(101 Tutorial) 主要内容 JMeter录制脚本并进行压力测试用户登陆场景,并以CAS SSO单点 ...

随机推荐

  1. linux下安装nodejs

    之前安装过windows下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录. 1. 下载node.js,官方有提供源码版本和编译版的,方便起见我使用编译版的,下载后解压缩 ...

  2. windows平台编译bgfx

    1.下载bgfx工程并解压到任意目录,链接:https://github.com/bkaradzic/bgfx/ 2.下载bx工程并解压到bgfx工程所在父目录,链接:https://github.c ...

  3. glusterfs 内存管理方式

    glusterfs中的内存管理方式: 首先来看看glusterfs的内存管理结构吧: struct mem_pool { struct list_head list; int hot_count; i ...

  4. log4j.properties 详解与配置步骤

    一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...

  5. 显示intent和隐示intent有什么区别

    显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent. 隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent. 说明:And ...

  6. 北京全景视频外包公司:长年承接VR全景视频外包

    北京动点飞扬软件,从事外包业务五年,长年承接全景VR视频,全景普通视频外包. 以下是全景VR视频案例(可操作,人不动景物不动,人移动,景物跟随) 欢迎联系我们QQ:372900288 TEL:1391 ...

  7. android模拟器没法通过localhost访问本地服务器的解决

    当android项目访问在一台服务器上的WEB服务时,没法通过localhost或者127.0.0.1来访问.模拟器把它自己作为了localhost,代码中使用localhost或者127.0.0.1 ...

  8. LeetCode "Is Subsequence"

    There are 3 possible approaches: DP, divide&conquer and greedy. And apparently, DP has O(n^2) co ...

  9. python---difflib

    文件内容差异对比 difflib为python的标准库模块,无需安装.作用时对比文本之间的差异.并且支持输出可读性比较强的HTML文档,与LInux下的diff 命令相似.在版本控制方面非常有用. # ...

  10. java基础-servlet-1

    servlet,是运行于服务器端的小程序.它既可以运行在http服务器端,也可以运行在mail等其他服务器端.我是这样理解,tomcat把接收到的客户端请求,转发给servlet,它负责业务处理,并且 ...