14. Loadrunner 详细介绍以及使用

news2024/11/26 10:31:24

目录

1. Loadrunner 环境搭建

2. Loadrunner 介绍

3. Loadrunner 三大组件之间的关系

4. Loadrunner 脚本录制

4.1 WebTours 项目

4.1.1 如何启动项目

4.1.2 如何访问项目

4.1.3 相关配置

4.2 脚本录制

4.3 脚本加强

4.3.1 插入事务

4.3.2 插入集合点

4.3.3 插入检查点

4.3.4 参数化

4.3.5 插入日志

4.3.6 字符串比较


1. Loadrunner 环境搭建

当桌面上出现以上三个图标,则表明安装成功。 

2. Loadrunner 介绍

1. 具有强大的脚本录制功能

2. 能够设计非常丰富的测试场景

3. 能够产出非常丰富的测试报告

3. Loadrunner 三大组件之间的关系

VUG:用来录制脚本,编写脚本

Controller:设计脚本运行场景

Analysis:产生性能测试报告

4. Loadrunner 脚本录制(VUG)

4.1 WebTours 项目

4.1.1 如何启动项目

此时,表示可以访问了。 

4.1.2 如何访问项目

复制,并打开浏览器,访问端口为1080:

打开的界面显示如下: 

4.1.3 相关配置

打开以下文件:

可以看到端口号为1080: 

以下路径用来存放用户名称和密码: 

4.2 脚本录制

接下来,我们来看一下如何录制脚本。

打开以上图标对应的文件:

新建一个文件:

点击 ”create“ 后,显示如下图所示:

左侧的文件具体功能如下:

vuser_init 和 vuser_end 只执行一次,Action 可以执行多次(需要修改配置)。 

录制: 

 根据需要进行选择:

添加地址,点击录制:

点击录制后,出现如下图所示界面: 

我们打开网页输入用户名和密码进行登录,登录成功后结束录制:

生成如下文件:

点击以下图标进行脚本编译:

显示如下图所示:

4.3 脚本加强

4.3.1 插入事务

事务:一个系统对应的操作业务的集合。

函数: lr_start_transcation

插入事务:

结束: 

出现以下脚本则表示事务插入成功: 

插入事务的另一种方式,右键(VUG 快捷方式): 

 

还可以通过以下函数插入事务:

事务结束的默认状态: 

注意:

  • 事务有开始,有结束,必须成对出现
  • 事务处理过程中不能插入思考时间,如果插入思考时间,事务的响应就不准确了
  • 事务的开始名称和结束名称必须相同 
4.3.2 插入集合点

集合点:在 loadrunner 中为了实现并发,通常通过设置集合点来达到这个目的。

函数:lr_rendezvous

集合点在事务之前。

4.3.3 插入检查点

检查点:检查页面渲染的内容是否正确。

函数:web_reg_find

在请求之前进行检查,检查界面中是否有文本 Username,选择函数后:

生成的脚本如下: 

4.3.4 参数化

也可以通过 Add Row 进行添加:

在表格中可以添加多个信息,通过修改设置将多个用户的信息打印在日志上:

设置日志:

打印扩展信息:

 

可以看到我们设置的多个参数都可以正常打印出来:

4.3.5 插入日志

输入要打印的日志内容: 

日志插入成功: 

另外还有一种标准输出:

通过函数:lr_output_message

输入内容:

输入要打印的内容:

打印成功: 

4.3.6 字符串比较
if(strcmp("jojo",lr_eval_string("Username")) == 0){
    lr_output_message("当前用户是 %s",lr_eval_string("Username"));
}

5. Controller 使用(创建性能测试场景)

5.1 Controller 打开方式

Controller 打开方式有两种:通过 VUG 插件;通过桌面快捷方式。

1. VUG 插件

 可以看到以下界面,表示 Controller 正在打开:

打开后界面显示如下: 

2. 双击桌面快捷键

选择我们需要打开的脚本文件:

5.2 设计测试场景

以下部分不需要进行修改:

 初始化:

stared users: 

退出所有用户:

5.3 运行测试场景

操作区域:

监控指标区域:

运行时间指标: 

 

事务相关的指标: 

网络相关资源指标:

图表区域:

监控指标的颜色状态显示:

5.4 图表分析

启动场景可以看到:

蓝色的指标意味着监控到了一定的数据(右边对应产生折线图);

黑色的指标意味着没有监控到数据(没有折线图)。 

 

在 Controller 中,事务包括 init Action end 还有自定义的事务。 

添加系统资源监控:

 

选中下图所示指标:

 右击选择:

添加资源监控后,显示如下: 

 

6. Analysis 使用(分析测试报告)

勾选自动生成,设置当测试场景运行完毕后,自动打开 Analysis:

自动打开: 

 

查看用户数量:

 

 还可以添加我们需要的图表:

还可以将表格合并进行分析:

 可以看到点击量在前,吞吐量在后,符合预期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/969594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Marin说PCB之TDK和Murata电容哪家强?

不是各位朋友是否听说华为新款手机MATE60Pro已经开始发布销售了,小编我听到这个消息后很是震惊啊,这两年老美一直打压我们中国芯片行业的发展,而且拿华为开刀,搞了一些很恶心的手段来限制和打压华为的发展。所以当我听到新款的MAT…

JavaScript基础代码

以下是一些 JavaScript 基础代码示例: 变量定义 // 定义字符串变量 var name "John";// 定义数字变量 var age 30;// 定义布尔变量 var isMarried false;控制语句 // if 语句 if (age > 18) {console.log("成年人"); } else {console.…

点云处理库Open3D基础操作1

文章目录 基础介绍Open3D读取文件Voxel降采样裁剪点云Open3D点云和numpy数组的转换点云的bounding box 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 基础介绍 Open3D是英特尔公司于2015年发布的开源3D视觉算法库,截至2023年…

QT(9.3)定时器,绘制事件

作业: 自定义一个闹钟 pro文件: QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecat…

C#,《小白学程序》第八课:列表(List)其二,编制《高铁列车时刻表》与时间DateTime

1 文本格式 /// <summary> /// 车站信息类 class /// </summary> public class Station { /// <summary> /// 编号 /// </summary> public int Id { get; set; } 0; /// <summary> /// 车站名 /// </summary&g…

2023年项目进度管理平台排行榜

项目进度管理是项目管理学科中的一门重要课程&#xff0c;通过合理的项目计划&#xff0c;有效控制项目进度&#xff0c;保障项目能够按时交付。 不过&#xff0c;项目进度管理并不是一件简单的工作&#xff0c;不仅需要面对项目过程中各种突发情况&#xff0c;还需要做好团队协…

函数指针与std::function<>对回调函数的实现与性能分析

函数指针与std::function<>都可以作为函数形参&#xff0c;通过接受另一个函数的地址来实现回调函数的功能&#xff0c;但是它们之间的性能差异非常明显。下面分别介绍对回调函数的实现与各自的性能分析。 函数指针与std::function<>对回调函数的实现 先在类中分…

植物大战僵尸植物僵尸表(一)

前言 此文章为“植物大战僵尸”专栏中的第005刊&#xff08;2023年9月第一刊&#xff09;。 警告&#xff1a; 1.仅适用于无名版&#xff1b; 2.可能存在遗漏&#xff0c;如发现请联系作者。 植物表 植物名称植物图片豌豆射手寒冰射手双发豌豆射手机枪射手裂荚射手三线射手…

IDEA提示忽略大小写

IDEA提示忽略大小写 IDEA代码提示默认是区分大小写的&#xff0c;设置为提示忽略大小写&#xff0c;编译我们后期的开发

【Unity编辑器扩展】 | 编辑器扩展 特性(Attribute) 整理总结 | 建议收藏

前言【Unity编辑器扩展】 | 编辑器扩展 特性(Attribute) 整理总结 | 建议收藏Unity中Attribute的作用一、System命名空间SerializableNonSerialized二、UnityEngine命名空间AddComponentMenuAssemblyIsEditorAssemblyColorUsageContextMenuContextMenuItemCreateAssetMenu

单片机第二季:温度传感器DS18B20

目录 1&#xff0c;DS18B20介绍 2&#xff0c;DS18B20数据手册 2.1&#xff0c;初始化时序 2.2&#xff0c;读写时序 3&#xff0c;DS18B20工作流程 4&#xff0c;代码 1&#xff0c;DS18B20介绍 DS18B20的基本特征&#xff1a; (1)内置集成ADC&#xff0c;外部数字接…

nginx-error错误页面

客户访问发生错误时&#xff0c;nginx返回给客户的错误页面。 例&#xff1a;客户访问的资源不存在时&#xff0c;返回302并跳转到一个网站。 2.可以返回200&#xff0c;给客户返回一个401.html的页面&#xff0c;这个页面可以做的友好一点&#xff0c;返回给客户。

【Java实战项目】【超详细过程】—大饼的图片服务器01

目录 一、该图片服务器的功能二、设计数据库设计前后端交互设计新增图片查看所有图片属性查看指定图片属性删除指定图片查看部分图片内容 一、该图片服务器的功能 1.可以选择文件上传或删除 2.拥有防盗功能 3.展示图片 二、设计 数据库设计 图片表中需要储存的数据有&#…

zabbix企业微信告警

目前&#xff0c;企业微信使用要设置可信域名 华为云搜索云函数 创建函数 选择http函数&#xff0c;随便输入函数名字 回到函数列表&#xff0c;选择刚创建的函数&#xff0c;创建触发器&#xff0c;安全模式选择none 点击右上角管理 选刚创建的api&#xff0c;右边操作点…

JVM中JAVA对象和数组内存布局

对象 数组 在Java中&#xff0c;所有的对象都是一种特殊的数组&#xff0c;它们的元素可以是基本数据类型、其他对象引用或者其他任何类型。Java对象和数组的内存布局包含以下部分&#xff1a; 1.对象头&#xff08;Object Header&#xff09; 每个Java对象都有一个对象头&am…

关于异或的小疑惑

今天写c&#xff0c;当我写出如下代码时&#xff0c;编译器报错了 #include<bits/stdc.h>using namespace std;int main(){int a1,b3,c2,d6;// cout<<(a^b^c^d)<<endl;cout<<a^b^c^d<<endl;return 0; } D:\sublineText\demo\demo.cpp: In funct…

UE4 Physics Constraint Actor 实现钟摆效果

放入场景&#xff0c;然后将一个球体放入场景 选择小球 将小球改为Movable 选择模拟物理&#xff0c;并将小球移除平衡点 就实现了

SAP-PP:基础概念笔记-5(物料主数据的工作计划视图)

文章目录 前言一、工作计划视图Production Supervisor 生产管理员生产计划参数文件序列号参数文件&#xff1a;序列化级批次管理批次管理工厂&#xff1a;需要批量记录&#xff1a;批量输入&#xff1a;不足交货允差 Underdelivery Tolerance&#xff1a;过度交货允差 Overdeli…

SAP-Tech:SAP EDI出站流程处理组件概念

文章目录 出站流程所使用的组件IDoc结构选择程序消息控制端口定义RFC目的地合作伙伴文件服务程序和配置表 总结 出站流程所使用的组件 出站流程使用了 IDoc类型&#xff0c;消息控制&#xff0c;伙伴文件&#xff0c;选择程序&#xff0c;服务程序&#xff0c;和生成IDoc的表。…

Linux驱动中常用的一些接口函数(经典)

​第一&#xff1a;设备树相关 查找节点的of函数 of_find_node_by_name struct device_node *of_find_node_by_name(struct device_node *from, const char *name);通过节点名字查找指定的节点 from&#xff1a;要开始查找的节点 name&#xff1a;节点名字 of_find_node_…