一、新建事务

如何估算一个业务流程呢?一个业务流程的持续时间:登录,预定机票等等的花费时间,通常是几个步骤构成的,所以在LR中需要标记事物,作为评测业务的时间。

1、打开Basic_Tutorial脚本

2、在任务窗格下——增强功能下——单击事物——新建事物——可以将事务标记拖放到脚本中的指定位置。向导会提示您插入事务的起始点。

3、在视图脚本中可以查看插入的事物

    

 直接点击工具栏的插入事务按钮,选择位置,插入事务

二、参数化

模拟多个不同的用户

1、选择视图 > 树视图进入树视图——在测试树中双击 Submit Data: reservations.pl 步骤——将打开 “提交数据步骤"对话框中

2、将常量值更改为变量值

选择改变的参数-点击右边的ABC按钮——输入参数名-类型选择file-确定-点击参数图标——打开参数属性对话框——点击添加行——定义测试更改数据的方式——每次迭代取顺序值而不是随机值

   

3、导入数据参数化

点击Browse——选择dat数据文件——导入(第一行是列的名称)

4、从数据库导入数据

点击数据向导

 参数化:在脚本中点击要参数化的参数-右键-选择参数化-输入变量名,然后后Ctrl+L(快捷键输入参数)

三、添加检查点

1、在 “任务”窗格的增强功能下单击内容检查——显示脚本中每个步骤的缩略图——选择要检查的缩略图——选择要检查的文本——然后右键单击并选择添加文本检查——确定——在视图中查看加入的检查点(标红的,检查点加在要检查脚本的前面)

     web_reg_find("Search=Body",
"SaveCount=lg_open",
"Text=我的首页",
LAST);

四、生成调试信息

1 选择一个位置。

2 插入一条输出消息。

选择插入 > 新建步骤。将打开 “添加步骤”对话框。向下滚动并选择输出消息,然后单击确定——输入输出的信息-点击OK

     if(atoi(lr_eval_string("{lg_open}"))>)
{
lr_end_transaction("登录",LR_PASS);
//lr_output_message("登录成功:%s",lr_eval_string("{loginName},{count}"));
}
else
{
lr_end_transaction("登录",LR_FAIL);
//lr_error_message("登录失败 : %s",lr_eval_string("{loginName},{count}"));
}

五、回放脚本

1 启用图像检查。
打开 “运行时设置”对话框 (Vuser > 运行时设置),并选择 Internet 协议:首选项节点。选择启用图像和文本检查。单击确定关闭 “运行时设置”对话框。(F4)
2、运行脚本(F5)

3 查找文本检查

确保已打开输出窗口 (视图 > 输出窗口)。在 “回放日志”选项卡中,按CTRL+F 打开 “查找”对话框。查找 web_reg_find。

查找二次:注册的 web_reg_find 对于 “Text=Find Flight”成功 (计数=1)。

4 查找事务的起始点
在 “回放日志”选项卡中,按 CTRL+F 打开 “查找”对话框。搜索单词Transaction。该通知用蓝色显示。

5 查看参数替换
在 “回放日志”选项卡中,按 CTRL+F 打开 “查找”对话框。搜索单词Parameter。日志包含通知“seat” = “Aisle”。再次搜索(按 F3)下一处替换。
注意 VuGen 在每次迭代时如何替换不同的值。

刚开始在回放日志里面总是找不到参数:后来发现需要设置写:(F4)——log(这个只在调式脚本的时候勾选,正式测试的时候去掉)

6 选择文件 > 保存或单击保存按钮

六、添加负载

1、设计选项卡中,单击 Load Generator 按钮 

2、测试 Load Generator 连接

选择 localhost 并单击连接。Controller 会尝试连接到 Load Generator 计算机。建立连接后,状态会从关闭变为就绪。
3、模拟真实加压方式

典型用户不会正好同时登录和退出系统。LoadRunner 允许用户逐渐登录和退出系统。它还允许您确定场景持续时间和场景停止方式。

  1. 1 选择计划类型和运行模式。

在计划定义区域,确保选中计划方式:场景和运行模式:实际计划。

  1. 2 设置计划操作定义

您可以在操作单元格或交互计划图中为场景计划设置启动 Vuser、持续时间以及停止 Vuser 操作。在图中设置定义后,操作单元格中的属性会自动调整。现在您可以设置定义,使 “操作”单元格显示如下。

运行时设置:

脚本名称——右键——运行时设置(如果是首次运行场景,建议生成日志消息,确保万一首次运行失败时有调试信息。)

七、监控

1 选择 Windows 资源监控器。
单击 Controller 窗口中的运行选项卡打开 “运行”视图。——右键单击 “Windows 资源”图并选择添加度量——添加——

在名称框中,输入 localhost。(如果 Load Generator 正在另一台机器上运行,您可以输入服务器名称或该计算机的 IP 地址。)在平台框中输入计算机的运行平台。单击确定。

八、运行负载测试

1、单击开始场景按钮,或者选择场景 > 开始以开始运行测试

2、在测试期间增加负载

  • 1 在 “运行”视图中单击运行/停止 Vuser 按钮。“运行/停止”对话框打开,显示当前分配到场景中运行的 Vuser 数。
  • 2 在 # 列中,输入要添加到组中额外的 Vuser 的数目。要运行 2 个额外的 Vuser,请将 # 列中的数字 8 替换为 2。
  • 3 单击运行以添加 Vuser。如果某些 Vuser 尚未初始化,将打开运行已初始化的 Vuser 和运行新 Vuser 选项。选择运行新 Vuser 选项。

3、查看测试状态
 

  1. 1 检查所有错误消息。

选择视图 > 显示输出,或者单击 “场景状态”窗格中的错误。“输出”对话框打开,列出消息文本、生成的消息总数、发生错误的 Vuser 和Load Generator 以及发生错误的脚本

1.2 查看详细的日志信息。(点击上面Total下的数字10)
您可以单击相应列中的蓝色链接以查看与错误代码相关的每个消息、Vuser、脚本和 Load Generator。

LR之流程的更多相关文章

  1. LR使用流程简介之录制方式说明

    1.LR脚本录制方式说明1)HTML-based script基于HTML的脚本 从内存中读取并下载资源,较少的关联处理,可以加入图片检查,回放时需要解析返回的信息 a-基于用户行为的方式 web_l ...

  2. LR性能测试分析流程

    LR性能测试分析流程 一.     判断测试结果的有效性 (1)在整个测试场景的执行过程中,测试环境是否正常. (2)测试场景的设置是否正确.合理. (3)测试结果是否直接暴露出系统的一些问题. (4 ...

  3. 性能测试基础---测试流程,LR安装

    ·性能测试流程详解: 一般来说,性能测试通常可以分为以下过程: ·前期分析.测试计划.测试方案.测试环境的搭建.测试数据的准备.测试脚本的开发.测试场景的设计.测试场景的实现和执行.资源的监控.分析结 ...

  4. LR一个简单的流程

    1.录制脚本 2.回放脚本 :回放前的运行时设置:run_time_seting   F4 关联设置(动态值) 日志分析 3.脚本的增强: 添加事物(计时) 参数化(模拟真实的用户行为) 内容检查.回 ...

  5. LR通用的性能分析流程

    Step1:从分析Summary的事务执行情况入手Summary主要是判定事务的响应时间与执行情况是否合理.如果发现问题,则需要做进一步分析.通常情况下,如果事务执行情况失败或响应时间过长等,都需要做 ...

  6. LR中订单流程脚本2

    Action(){ //1.设置服务器的IP地址 //lr_save_string("192.168.1.12:8080", "ip"); lr_save_st ...

  7. LR中订单流程脚本

    Action(){ /* 主流程:登录->下订单->支付订单->获取订单列表 定义事物 1)登录 2)下订单 3)支付订单 4)获取订单列表 接口为:application/json ...

  8. [Java入门笔记] Java语言基础(四):流程控制

    流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...

  9. 嵌入式Linux驱动学习之路(五)u-boot启动流程分析

    这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程.这一过程可以分为两个过程,各个阶段的功能如下. 第一阶段的功能: 硬件设备初始化. 加 ...

随机推荐

  1. zookeeper设置客户端连接超时被expired

    在网络环境非常差的情况下,使用zookeeper集群往往会遇到连接expired了: 客户端提示连接从ZOO_CONNECTION_STATE变为ZOO_EXPIRED_SEESION_STATE,然 ...

  2. PostgreSQL索引思考

    当在看Monetdb列存行只支持IMPRINTS和ORDERED这两种索引,且只支持定长数值类型时,就在思考,对于列存,还有必要建索引吗?在PostgreSQL的索引就要灵活很多,我对常用列建合理的索 ...

  3. 大数据平台CentOS7+CDH5.12.1集群搭建

    1.CM(Cloudera Manager)介绍 1.1 简介 Cloudera Manager是一个拥有集群自动化安装.中心化管理.集群监控.报警功能的一个工具,使得安装集群从几天的时间缩短在几个小 ...

  4. c++多线程并发学习笔记(0)

    多进程并发:将应用程序分为多个独立的进程,它们在同一时刻运行.如图所示,独立的进程可以通过进程间常规的通信渠道传递讯息(信号.套接字..文件.管道等等). 优点:1.操作系统在进程间提供附附加的保护操 ...

  5. CentOS卸载lamp环境的步骤

    学习PHP的时候需要在CentOS系统下安装lamp环境,安装容易卸载就没那么简单了,因为lamp由Apache.MySQL.PHP三个部分构成,需要逐个卸载,小编就给大家介绍下CentOS卸载lam ...

  6. 使用JavaScript获取url中的参数值

    今天需要用到从url中获取参数,在网上找了几个JavaScript方法,mark下来.   一些可以使用的去获取url中指定的部分:如http://www.mystuff.com.cn/aboutus ...

  7. 搜索专题: HDU1312Red and Black

    Red and Black Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  8. 异步Promise及Async/Await可能最完整入门攻略

    此文只介绍Async/Await与Promise基础知识与实际用到注意的问题,将通过很多代码实例进行说明,两个实例代码是setDelay和setDelaySecond. tips:本文系原创转自我的博 ...

  9. 什么是lambda函数?有什么好处?

    lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的匿名函数 好处:1.lambda 函数比较轻便,即用即删除,很适合需要完成一项功能,但是此功能只在此一处使用,连名字都 ...

  10. 初学Python写二进制文件

    初学Python写二进制文件 把一个图片的16进制数据保存到一个txt文本,从这个txt文本读出并保存为二进制文件jpg图片文件.说明:图片读出的0xff粘贴ff到文本中,读出时是字符串的”ff”. ...