LoadRunner操作教程

news2024/11/17 11:35:36

日升时奋斗,日落时自省

目录

1、Virtual User Generator (VUG)

1.1、WebTours系统

1.1.1、WebTours启动

1.1.2、WebTours配置

1.2、脚本录制

1.3、编译

1.4、脚本运行

1.5、加强脚本

1.5.1、事务插入

1.5.2、插入集合点

1.5.3、参数化

2、Controller

2.1、通过VUG打开

2.2、双加Controller打开

2.3、场景设计

2.4、运行场景

3、Analysis


LoadRunner基本了解:

LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。 LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案

提到LoadRunner不乏会提及到Jmeter,其实使用不会有太多的差别

(1)Jmeter没有录制脚本的功能(LoadRunner的录制功能一会解释)

(2)LoadRunner有很多测试场景相比Jmeter更多

(3)LoadRunner能够产出非常多丰富的测试报告中

LoadRunner下载后会有以下三个组件

Virtual User Generator (VUG):录制脚本(编写脚本)

Controller:设计场景,运行场景

Analysis:产生性能测试报告

三个组件构成的关系 VUG写脚本(同时进行脚本录制) -->Controller(场景运行)-->Analysis(产生测试报告)

1、Virtual User Generator (VUG)

1.1、WebTours系统

1.1.1、WebTours启动

WebTours是HP自带的一个测试网站,可以帮助我们更好的了解LoadRunner工具的使用。它是一个基于ASP.net平台的网站,提供了网上订票、查看订票信息、预定机票等功能

 LoadRunner在我们下载好以后,WebTours也在其中

 找到WebTours文件(这里为了启动WebTours,否则测试网站大体上是打不开的)

双击StartServer.bat(出现下面这样类似的就算是打开了,启动后不要关闭

1.1.2、WebTours配置

WebTours也是有自己的端口的,WebTours-->conf-->httpd.conf(配置文件)

Ctrl + F 搜索 Listen 后面的参数就是端口号

现在就可以访问WebTours网站了 :http://127.0.0.1:1080/WebTours/  (效果如下)

 直接注册就行,当然也可以直接查询到当前注册的用户有哪些,先说注册

 注册好以后,就可以登录了,当然了,如果忘了,还可以再注册,也可以来这个地方查找

WebTours-->cgi-bin-->users(包含所有用户的信息)

 记事本打开后第一行就是密码 这里以jojo为例 ,其实密码就是bean

 1.2、脚本录制

现在我们开始操作VUG进行脚本录制

进入开始编辑脚本页面:

分别介绍一下左边选项栏中各个选项

vuser_init:初始化(文件从始到终也就意味着脚本开始运行到结束运行过程中只运行一次)

Action:存放录制好的脚本(编写代码)这个文件可以运行一次,也可以运行多次,默认运行一次,初始化完成之后运行

vuser_end:程序退出时执行的,运行时机是action运行完成之后执行

Runtime Settings:设置脚本参数

Parameters:参数化会用到

出现这个探窗点击yes就行

 开始录制后,进行常规登录操作即可,操作完成后,针对下面这个组件的功能进行点击

 点击停止录制后 ,会将录制好的脚本加载到Action中(像下面这样,这些都是录制自动生成的)

 注:这里很多代码都是没有用的,一般情况我们保留,url是我们需要的访问路径代码段留下来,剩下的代码可以进行删减或者注释掉(如果怕删错了可以注释掉,也可以重新录制),这里是已经删减过的

1.3、编译

编译就是能不能正常跑,会不会删除后,误删的错误

 1.4、脚本运行

1.5、加强脚本

 前面说到了think_time(思考时间),录制代码会看见类似的,我们有的时删除有的时候可能忘记删除了,如果不想要可以在参数设置里进行忽略

 1.5.1、事务插入

涉及到函数 :

Ir_start_transaction("login")开始事务;

lr_start_transaction("login",LR_AUTO)结束事务:

这里演示在登录操作是设置一个事务

 结束事务操作是一样的,都在右侧函数搜索框中找,这里针对结束事务解释一下

 注:这里手动输入也是可以的,但是不一定记得住,建议搜索点击,不会出错

给友友们看一下,运行的效果:

 1.5.2、插入集合点

集合点就是可以理解为拦截点,每次有很多用户登录,登录到了集合点要求个数之后就会开始拦截,其他用户要进行等待,直到这些用户全部下线结束

主要为了检验并发量的

涉及函数: lr_Rendezvous

注:这里不能体现集合点能容纳多少操作个数,需要到运行场景才能设置(运行场景就是Controller里面设置,后面会详细说Controller)

1.5.3、参数化

这里主要就是涉及用户登录的重复操作

 如果我们想尝试多个用户登录,那一个一个复制吗(下)

 不太方便吧,如果是10个还能勉强,如果一百个,复制一百个吗

这里参数化实现多个用户登录

 用户参数化,密码也是要参数化的(方法一样)

 这里还没有完,我们想跑多个用户,所以需要添加参数

 注:这里我们需要设置一个参数,为了我们日志能看见对应的用户跑起来(看到对应的用户)

 设置跑的次数,有几个用户就跑几次(如果为1,就只跑一个用户)

 看一下,运行的效果

注:设置参数后,需要去调整日志参数

2、Controller

Controller主要包括场景设计和场景执行两部分,在VUG中编辑完脚本并将脚本加载到Controller组件中,即开始对脚本运行时的场景进行设计,当场景设计完成后,即可执行该场景

针对Controller打开方式有两个,当前脚本就是我们的运行场景或者当前脚本不是我们需要的运行场景

2.1、通过VUG打开

 注:压力产生器==施压机器;施压机器:发起请求的角色,用户本地电脑,被压机器:处理请求的角色,服务器(点击ok后会以这么创建显示,稍微等会,可能有点慢)

 2.2、双加Controller打开

 2.3、场景设计

首先就先来看一下进入之后的主界面

 下面我们一个区域一个区域说

测试脚本的基本信息

设置运行相关内容

 注:运行场景的设定,右侧图也会跟着变化(这是我修改后的图)

 2.4、运行场景

 右侧显示:

 相关设置

启动两个程序:(搜索“服务”找到下面这个程序设置成启动)

图表显示:

 系统数据监控

 运行后的场景,(点击后可以查看详细内容,可以通过图来判断一些资源占用情况是否有问题):

 3、Analysis

Analysis是LoadRunner中的一个组件,它是对测试结果数据进行分析的组件之一,用来分析性能测试结果的数据图,但并不一定要对每个视图进行分析

 如何打开Analysis,是由Controller的运行场景进行产生的(点击这里即可产生)

 如何看Analysis生成报告:

 点击需要查看的内容,有对应的图像显示:

 同时可以添加观测内容图像:

 图像合并观察(单个图像不方便观察对比,可以进行合并在一张图上)

例如:这里拿每秒点击量和吞吐量合并(在需要合并的图上点击merge graph)

 

 注:这里需要对这些内容指标有一定了解,这里针对看出问题做出一个举例:

点击数上升,但是吞吐量没有上升,是请求没有发过来,还是请求处理失败了等原因需要自己去多尝试,得出经验

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

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

相关文章

Android 11/12 app-lint 系统Update-API时Lint检查问题

有以下两种解决方法 1. 加SupressLint注解 这种方式你可以其他博客也有 但是要每个类和方法都加上SuppressLint 太麻烦了 我才不要这样呢 2. 添加 --api-lint-ignore-prefix 参数直接跳过代码检查 1. 打开 frameworks/base/Android.bp 文件 2. 搜索找到这个字段 metalava…

京东算法分析

# 1.首先charles抓包发现每个请求Url后都接了一个sign的参数且每次都不一样。也没有其他的一些别的特别参数,那么关键问题就是分析sign参数的生成了 # 2.jadx反编译,寻找sign的生成的位置 > 直接搜索sign参数匹配的出来的结果太多了,一时间不好区分哪个是真的。于是使用get…

sql:SQL优化知识点记录(三)

(1)explain之select_type和table介绍 简单的查询类型是:simple 外层 primary,括号里subquery 用到了临时表:derived (2)explain之select_type介绍 trpe反映的结果与我们sql是否优化过&#xff…

家宽用户家庭网的主要质量问题是什么?原因有哪些

1 引言 截至2020年底,我国家庭宽带(以下简称“家宽”)普及率已达到96%。经过一年多的发展,当前,家庭宽带的市场空间已经饱和。运营商在家宽市场的竞争也随之从新增用户数的竞争转移到家宽品质的竞争。 早期运营商的家…

软件测试收费标准

软件测试 软件测试收费主要根据工作量进行评估,主流的评估方式有以下两种 一、按照工作量评估 工作量从以下4个方面体现: 1、功能性 功能点数量正相关,功能复杂程度正相关例如一个算法逻辑相对复杂的功能点对应需要设计的用例会更多。 2、…

【PyQt】下载文件时弹出提示用户选择保存文件位置的对话框

1 需求 在界面软件中,用户点击下载某个文件,此时软件需要提示用户选择保存到电脑的某个位置,然后软件才能将文件保存到用户指定的电脑文件夹中。 2 代码 # 需引入的库 import os import sys from PyQt5.QtWidgets import QFileDialogsrc .…

复数基本概念

复数是为了解决无法对负数开根号的问题,其为实数的延伸: 复数表示为: a b i abi abi 其中 a 、b 为实数,i 为虚数单位,且 i 2 − 1 i^2 -1 i2−1。实数 a 称为虚数的实部,b 称为虚数的虚部&#xff…

【韩顺平 零基础30天学会Java】数组、排序和查找(2days)

数组、排序、查找和多维数组 数组可以存放多个同一类型的数据。数组也是一种数据类 型,是引用数据类型。 定义一个数组 double[] hens {3,5,1,3.4,2,50} 遍历数组得到数组所有元素的和 hens[下标],下标是从0开始编号的。 可以通过数组名.lenght得到数组…

爬取boss直聘简单案例

前提准备 以chrome自动化为例 下载浏览器驱动 最新版本:Chrome for Testing availability (googlechromelabs.github.io) 旧版本:ChromeDriver - WebDriver for Chrome - Downloads (chromium.org) 查看chrome的版本 设置->关于chrome 如图116版本…

React 如何获取上一次 state 的值

React 如何获取上一次 state 的值 一、用 ref 存储上一次的 state 类似 usePrevious function usePrevious(value) {const ref useRef();useEffect(() > {ref.current value;});return ref.current; }二、通过 setState 的入参改为函数获取

Nginx详解 第二部分:Nginx配置文件详解(附详细配置实例)

Part2 一、Nginx配置文件1.1 主配置文件详解1.2 子配置文件 二、全局配置部分2.1 修改启动的工作进程数(worker process) 优化2.2 cpu与worker process绑定(优化三)2.3 PID 路径修改 优化2.4 修改工作进程的优先级 优化2.7 调试工作进程打开的文件的个数…

专题:平面、空间直线参数方程下的切线斜率问题

本文研究平面、空间直线在参数方程形式下,切线斜率(即导数)如何表示的问题。 如上图所示。 设 y f ( x ) , x φ ( t ) , y ψ ( t ) 当 t t 0 时, x x 0 , y y 0 ,即点 A 坐…

拼多多开放平台的API接口可以获取拼多多电商数据。以下是API接口流程

使用拼多多开放平台的API接口可以获取拼多多电商数据。以下是一般的API接口流程: 1. 注册开发者账号:首先,您需要在拼多多开放平台注册一个开发者账号。通过开发者账号,您可以获得API密钥和其他必要的信息。 2. 鉴权与认证&…

最详细的Django安装与启动

Django安装与配置 Python支持版本: Django 3.2支持的Python版本为3.6、3.7、3.8和3.9,而Django 4.1只支持Python 3.8、3.9和3.10。 因为考虑到新的python版本更新和新的mysql数据库版本,由此使用 python3.8和Django 4.1和MYSQL8.0 Django…

计算机网络-笔记-第二章-物理层

目录 二、第二章——物理层 1、物理层的基本概念 2、物理层下面的传输媒体 (1)光纤、同轴电缆、双绞线、电力线【导引型】 (2)无线电波、微波、红外线、可见光【非导引型】 (3)无线电【频谱的使用】 …

统计学补充概念-17-线性决策边界

概念 线性决策边界是一个用于分类问题的线性超平面,可以将不同类别的样本分开。在二维空间中,线性决策边界是一条直线,将两个不同类别的样本分隔开来。对于更高维的数据,决策边界可能是一个超平面。 线性决策边界的一般形式可以表…

如何查看友商的Camera配流情况

有时候,我们想看下竞品友商机器上,使用到camera的app 申请的分辨率情况。 如果只是抓logcat日志,我们可能没法从中获取到有效信息,毕竟一般出货的机器版本,基本已经把大部分相关日志都给关闭了。 那有没其它方式&…

画出你的数据故事:Python中Matplotlib使用从基础到高级

摘要: Matplotlib是Python中广泛使用的数据可视化库,它提供了丰富的绘图功能,用于创建各种类型的图表和图形。本文将从入门到精通,详细介绍Matplotlib的使用方法,通过代码示例和中文注释,帮助您掌握如何在不…

java练习8.100m小球落地

题目: 如一个小球从100米高度自由落下,每次落地后就反跳回原高度的一半。 那么求它在第10次落地时,共经过多少米?第10次反弹多高? public static void main(String[] args) {/*假如一个小球从100米高度自由落下,每次落…

CAS相关知识

CAS(比较并交换),它是一条CPU并发原语,它的功能是判断内存中某个位置的值是否和期望值一致,如果一致的话就去更该为新的值,这个过程是原子的。 Unsafe类中的compareAndSwapInt方法,是native方法…