【性能测试】第二节.loadrunner工具介绍(LR)

文章目录

  • 前言
  • 一、VUG:虚拟用户发生器
  •       1.1 实现作用
  •       1.2 创建一个新的性能测试脚本
  •       1.3 打开LR自带的web系统
  •       1.4 编写性能测试脚本流程方法
  •       1.5 性能测试脚本的增强
  • 二、Controller
  •       2.1 基础功能介绍
  •       2.2 Design
  •       2.3 Run
  • 三、Analysis
  • 总结


前言


一、VUG:虚拟用户发生器

1.1 实现作用

主要用来生成性能测试脚本(写脚本)


1.2 创建一个新的性能测试脚本

(1)创建步骤流程:
打开软件 -》 File -》 New Script and Solution -》Single Protocol

-》 因为是针对web系统检测,所以选择 Web -》 填写脚本名称以及路径

(2)图示介绍New Script and Solution:

(3)图示介绍Solution Explorer

vuer  -》 virtual user


1.3 打开LR自带的web系统

1.4 编写性能测试脚本流程方法

实现步骤:

步骤1:

① 启动webTours服务:C:\Program Files (x86)\HP\LoadRunner\WebTours\StartServer.bat (双击打开并保持打开状态)

步骤2:

② 浏览器访问:http://127.0.0.1:1080/WebTours/

步骤3:

③查看WebTours系统的登录账号和密码:C:\Program Files (x86)\HP\LoadRunner\WebTours\cgi-bin\users,其提供的账号jojo,密码为bean
(注意:密码是可以自己进行修改的,打开后修改首行的bean并保存就行,刷新后页面就可以使用新的密码进行登录了; 也可以多创建几个账户,直接cv,然后进行修改就行)

图示说明:

步骤4:编写性能测试脚本
(在Action.c中进行web系统的性能测试)
① 注意:自动生成函数:View -》 Steps Toolbox -》 右边就会出现可选的函数

② 因为测试web系统,所以在右边直接搜索web(或url) -》 双击选择web_url -》 进行名称以及url的修改填写 (注意鼠标放在插入位置)

③ 在开发者工具(fn+f12)中查看请求的格式:NetWork,本web是使用form表单形式进行提交请求的

④ 在右边搜索submit -》 然后选择web_submit_form -》 注意填写名称general以及参数data

⑤检查当前脚本是否正确:点击运行

测试通过:

⑥ 查看终端提示信息
当双击某行的提示信息,对应的脚本就会闪烁一下


以上只是最简单的性能测试脚本的写法,但是这种写法并不足以让我们进行性能测试数据的收集。此时就需要进行性能测试脚本的增强。


1.5 性能测试脚本的增强


步骤5:性能测试脚本的增强

增强方法一:添加事务

lr_start_transaction 开启事务
lr_end_transaction 结束事务

(注意事务名称的一致性,以及事务必须有开启有结束)

测试结果:

注释说明:

注意事务之间是可以嵌套的(注意匹配)


增强方法二:集合点

假如后续我们创建10W个虚拟用户去执行编写好的性能测试脚本,不能保证所有的虚拟用户都同时去执行每一步,所以为了实现真正意义上的并发就需要让虚拟用户执行到集合点后进行短暂的集合,在满足条件后一起执行下一个步骤。


lr_rendezvous 集合点设置

(若存在事务则在开启前面进行设置):需要在Controller中查看

图示说明:


增强方法三:检查点

在页面中查找某元素是否存在(如避免用户的越权行为)

web_reg_find (注意:也是加在前面的,但是如果存在事务则可以是在开启事务之后)

图示说明:

注意:检查点一般放在请求之前!


增强方法四:参数化

实现步骤:

① 如:在users下先创建另外的用户:用户名xian,密码bean,这样就实现了多参数

② 然后需要对登录的用户进行参数化设置:选中已经存在的value值 -》 然后右键 -》 Replace… -》 create New … -》 修改参数名、参数类型以及默认值 -> 然后点击ok -》 选择No

图示实现步骤:


③ 设置数据源:左侧Parameters双击 -》 browse打开进行参数的设置(如添加等) -》 保存后关闭该页面后重新打开Parameters才会显示 -》 or 直接Add Row / Delete Row / Edit Notepad…(一定要记得保存ctrl + s) -》 [可以添加多列,也可以选择执行的列] -》还可以选择列中的执行顺序


增强方法四:脚本录制
(注:首先说明,并不是所有人都能够使用脚本录制的,一般来说只有安装了IE浏览器的才能够使用该功能。但是不能用也没关系,可以进行手动编写。)

使用录制脚本可以自动的生成性能测试脚本。

实现步骤:

① 点击“录制脚本”按钮

② 证书安装选择“是”,操作/录制完成后选择“是”删除根证书

③ 介绍浮窗:
图示说明:


二、Controller

2.1 基础功能介绍

(1)作用:
创建和设计测试场景,运行测试脚本,监控场景运行,收集测试过程的数据

(2)打开方法:
① 直接点击桌面的controller图标
or ② 在VUG中Tools =》 Create Controller Scenario


2.2 Design

实现步骤:

步骤1:① 初始化

步骤2:开始虚拟用户的运行

步骤3:虚拟用户运行时间

步骤4:结束虚拟用户(虚拟用户的退场)


整体图示说明:


2.3 Run

总结

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

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

相关文章

手把手教你在Overleaf的IEEE模板中用ref.bib加入引用

手把手教你在Overleaf的IEEE模板中用ref.bib加入引用 文章目录 1. 杂话2. 具体步骤2.1 创建ref.bib文件2.2 加入引用2.3 在tex文件中导入引用 1. 杂话 大伙儿应该都用过Latex和Overleaf吧,具体是个啥东西我就不说了哈。Overleaf上面的在这里IEEE 会议官方模板。之前…

安防监控视频平台LntonCVS视频融合共享平台智慧消防实现远程集中视频监控方案

近年来,电力系统内变电站着火事件频发,这对消防安全管理提出了严峻挑战。我国消防安全基础设施不完善、管理机制不健全、应急处置能力不足及公众消防安全意识淡薄等问题,严重制约了消防安全的提升。因此,加强变电站的消防安全管理…

【C++】 List 基本使用

C List 基本使用 基本概念 list 是一个序列容器,它内部维护了一个双向链表结构。与 vector 或 deque 等基于数组的容器不同,list 在插入和删除元素时不需要移动大量数据,因此在这些操作上具有较高的效率。然而,访问列表中的特定…

课程设计——Python+OpenCV数字图像处理[车牌识别]

Python opencv 车牌识别 数字图像处理课程设计作业Python3OpenCV使用tkinter搭建界面tmp/文件夹是数字图像处理过程chepai/文件夹是车牌图片pic/文件夹是程序界面图PPT文件是验收时要讲的程序是从网上学习的并自己弄的,不完善,识别率不高 开发环境配置…

使用MovaXterm连接VMware的centos

一、确认局域网ip 检查虚拟机分配的网段是否一致 二、确认centos的ip 输入 ip addr 获得设备ip为192.168.153.130 三、用MovaXterm建立ssh连接 有同行可能会问,直接使用VMware操作centos系统不行吗?为什么要再多一步。 理由:1、测试环境c…

【Navicat Premium Lite 17】无需破解、不在担心绿诗涵——官方的免费轻量级Navicat来了

Navicat Premium Lite 是 Navicat 的精简版,它包含了用户执行主要的基本数据库操作所需的核心功能。它允许你同时连接到各种数据库平台,包括 MySQL、PostgreSQL、SQL Server、Oracle、MariaDB,以及 Redis 和 MongoDB 等NoSQL 数据库&#xff…

MVC之 Controller 》》 ModelState ValidationMessageFor ValidationSummary

ModelState是Controller的一个属性,可以被继承自System.Web.Mvc.Controller的那些类访问。它表示在一次POST提交中被提交到服务器的 键值对集合,每个记录到ModelState内的值都有一个错误信息集。尽管ModelState的名字中含有“Model”,但它只有…

JVM监控及诊断工具-命令行篇-jstat命令介绍

JVM监控及诊断工具-命令行篇01-jstat:查看JVM统计信息 一 基本情况二 基本语法2.1 option参数1. 类装载相关的:2. 垃圾回收相关的-gc:显示与GC相关的堆信息。包括Eden区、两个Survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息…

jmeter-beanshell学习9-放弃beanshell

写这篇时候道心不稳了,前面写了好几篇benashell元件,突然发现应该放弃。想回去改前面的文章,看了看无从下手,反正已经这样了,我淋了雨,那就希望别人也没有伞吧,哈哈哈哈,放在第九篇送…

智慧商超-下

原文:https://blog.c12th.cn/archives/29.html 智慧商超-下 测试:笔记本原装操作系统:Windows 10 家庭中文版 资源分享链接:提取码:uya0 卸载SQL步骤: https://blog.csdn.net/qq1623803207/article/detail…

自定义json序列化和反序列化

一、LocalDateTime反序列化异常 首先我们定义一个java POJO实体类,其中关键的成员变量时birthDate,我们没有采用Date数据类型,而是采用了Java8 新的日期类型LocalDateTime,使用LocalDateTime的好处我就不多说了,有很多的文章解释说明。我们把…

Java常见JUC并发工具类

Lock 并发编程领域的两大核心问题: 一个是 互斥,即同一时刻只允许一个线程访问共享资源 另一个是 同步,即线程之间如何通信、协作 这两大问题,管程(synchronized)都是能够解决的。Java SDK并发包通过Lock和…

【Linux】进程控制的详细介绍

前言 在此之前,我们学过进程的概念,进程的状态,进程地址空间等一系列进程相关的问题。本章我们继续学习进程,我们要来学习一下进程的控制,关于进程等待,进程替换等问题。 目录 1.再次认识Fork函数1.1 fork…

internet download manager(IDM下载器) 6.42.8.2下载安装使用指南

internet download manager(IDM下载器) 6.42.8.2Z是一款功能强大的下载加速工具,能够显著提升您的下载速度,最高可达500%。它不仅能够加速下载,还能对下载任务进行智能调度,并具备恢复中断下载的能力。根据用户评价,无…

初识C++(命名空间、缺省参数)

初识C 命名空间namespace关键字命名空间的使用 缺省参数 命名空间 namespace关键字 在C中,为了尽可能避免命名冲突,需要对各个变量进行域作用限定,这就需要使用到namespace关键字,namespace可以定义一个命名空间,即命…

LabVIEW红外热波图像缺陷检

开发使用LabVIEW开发的红外热波图像缺陷检测系统。该系统结合红外热像仪、工业相机和高效的数据采集硬件,实现对工件表面缺陷的自动检测和分析。通过LabVIEW的强大功能,系统能够实时采集、处理和显示红外热波图像,有效提高了检测的精度和效率…

vue:标签属性绑定Vue实例【ref,reactive,内置指令v-bind,v-on】,预定义变量、方法【$methods,$computed】

Vue2、3组件通信、双向绑定、插槽slot、内置指令_组件双向绑定-CSDN博客​Vue2,3响应式原理,ref和reactive,toRef和toRefs,shallowRef和shallowRefs_vue2 shallowref-CSDN博客 vue2【Options 选项API、mixin混入】,vu…

WAF基础介绍

WAF 一、WAF是什么?WAF能够做什么 二 waf的部署三、WAF的工作原理 一、WAF是什么? WAF的全称是(Web Application Firewall)即Web应用防火墙,简称WAF。 国际上公认的一种说法是:Web应用防火墙是通过执行一…

免开steam 脱离steam 进行游戏的小工具

链接:https://pan.baidu.com/s/1k2C8b4jEqKIGLtLZp8YCgA?pwd6666 提取码:6666 我们只需选择游戏根目录 然后输入AppID 点击底部按钮 进行就可以了 关于AppID在:

机器学习——L1 L2 范数 —>L1 L2正则化

1、L1范数和L2范数是机器学习和数据分析中经常使用的两种范数,它们之间存在多个方面的区别。 以下是关于L1范数和L2范数区别的详细解释: 一、定义差异 L1范数:也被称为曼哈顿范数,是向量元素的绝对值之和。对于一个n维向量x&am…