锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 软件开发
  3. LoadRunner使用教程

LoadRunner使用教程

0
  • 软件开发
  • 发布于 2024-09-19
  • 0 次阅读
黄健
黄健
  1. LoadRunner简介

LoadRunner是一款广泛使用的性能测试工具

可以对各种应用程序进行性能测试,包括Web应用程序、移动应用程序、企业级应用程序等。它提供了一个综合的性能测试解决方案,包括测试计划设计、脚本录制、测试执行、结果分析和报告生成等功能。

主要有以下几个核心组件:

  1. Virtual User Generator(虚拟用户产生器):用于录制和编辑性能测试脚本。通过模拟用户的行为来捕获用户与应用程序之间的交互操作。

  2. Controller:用于设置测试场景和配置虚拟用户的行为。可以模拟不同的负载模式、并发用户数量和事务执行时间等。

  3. Load Generators:用于模拟实际用户的虚拟用户,并产生负载。可以在多台物理或虚拟机器上分布负载。

  4. Analysis:用于收集和分析测试执行期间的性能数据。提供图表、统计数据和报告,以便深入了解应用程序的性能状况。

2.Virtual User Generator基础使用

1.了解webtours系统

如何启动?

双击

配置

有了ip还需要port才能访问成功,在配置文件中查看port


2.脚本录制

打开VUG

如何确定协议?找开发沟通

录制

开始录制

有时需要将无关代码删除

3.编译


4.运行(回放)

打印日志:

Virtual User Script started at : 2023/7/21 8:42:35
Starting action vuser_init.
Web Turbo Replay of LoadRunner 12.0.0 for Windows 8; build 2739 (Nov 30 2014 23:13:05)      [MsgId: MMSG-27143]
Run mode: HTML      [MsgId: MMSG-26993]
Run-Time Settings file: "C:\Users\陈昌良\Documents\VuGen\Scripts\WebHttpHtml1\\default.cfg"    [MsgId: MMSG-27141]
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Maximum number of concurrent connections per server: 6      [MsgId: MMSG-26989]
Starting action Action.
Action.c(4): web_url("WebTours") started    [MsgId: MMSG-26355]
Action.c(4): Detected non-resource "http://192.168.1.7:1080/WebTours/header.html" in "http://192.168.1.7:1080/WebTours/"    [MsgId: MMSG-26574]
Action.c(4): Detected non-resource "http://192.168.1.7:1080/cgi-bin/welcome.pl?signOff=true" in "http://192.168.1.7:1080/WebTours/"     [MsgId: MMSG-26574]
Action.c(4): Found resource "http://192.168.1.7:1080/WebTours/images/hp_logo.png" in HTML "http://192.168.1.7:1080/WebTours/header.html"    [MsgId: MMSG-26659]
Action.c(4): Found resource "http://192.168.1.7:1080/WebTours/images/webtours.png" in HTML "http://192.168.1.7:1080/WebTours/header.html"   [MsgId: MMSG-26659]
Action.c(4): Detected non-resource "http://192.168.1.7:1080/cgi-bin/nav.pl?in=home" in "http://192.168.1.7:1080/cgi-bin/welcome.pl?signOff=true"    [MsgId: MMSG-26574]
Action.c(4): Detected non-resource "http://192.168.1.7:1080/WebTours/home.html" in "http://192.168.1.7:1080/cgi-bin/welcome.pl?signOff=true"    [MsgId: MMSG-26574]
Action.c(4): Found resource "http://192.168.1.7:1080/WebTours/images/mer_login.gif" in HTML "http://192.168.1.7:1080/cgi-bin/nav.pl?in=home"    [MsgId: MMSG-26659]
Action.c(4): web_url("WebTours") was successful, 10080 body bytes, 2371 header bytes, 24 chunking overhead bytes    [MsgId: MMSG-26385]
Action.c(15): web_submit_form("login.pl") started   [MsgId: MMSG-26355]
Action.c(15): Submitting form to "http://192.168.1.7:1080/cgi-bin/login.pl", Target Frame="body"    [MsgId: MMSG-27978]
Action.c(15): Detected non-resource "http://192.168.1.7:1080/cgi-bin/nav.pl?username=Test&password=123456" in "http://192.168.1.7:1080/cgi-bin/login.pl"    [MsgId: MMSG-26574]
Action.c(15): Detected non-resource "http://192.168.1.7:1080/cgi-bin/error.pl?error=badPassword" in "http://192.168.1.7:1080/cgi-bin/login.pl"      [MsgId: MMSG-26574]
Action.c(15): Resource "http://192.168.1.7:1080/WebTours/images/mer_login.gif" is in the cache already and will not be downloaded again     [MsgId: MMSG-26655]
Action.c(15): web_submit_form("login.pl") was successful, 2984 body bytes, 698 header bytes, 36 chunking overhead bytes     [MsgId: MMSG-26385]
Action.c(26): web_submit_form("login.pl_2") started     [MsgId: MMSG-26355]
Action.c(26): Submitting form to "http://192.168.1.7:1080/cgi-bin/login.pl", Target Frame="body"    [MsgId: MMSG-27978]
Action.c(26): Detected non-resource "http://192.168.1.7:1080/cgi-bin/nav.pl?page=menu&in=home" in "http://192.168.1.7:1080/cgi-bin/login.pl"    [MsgId: MMSG-26574]
Action.c(26): Detected non-resource "http://192.168.1.7:1080/cgi-bin/login.pl?intro=true" in "http://192.168.1.7:1080/cgi-bin/login.pl"     [MsgId: MMSG-26574]
Action.c(26): Found resource "http://192.168.1.7:1080/WebTours/images/flights.gif" in HTML "http://192.168.1.7:1080/cgi-bin/nav.pl?page=menu&in=home"   [MsgId: MMSG-26659]
Action.c(26): Found resource "http://192.168.1.7:1080/WebTours/images/itinerary.gif" in HTML "http://192.168.1.7:1080/cgi-bin/nav.pl?page=menu&in=home"     [MsgId: MMSG-26659]
Action.c(26): Found resource "http://192.168.1.7:1080/WebTours/images/in_home.gif" in HTML "http://192.168.1.7:1080/cgi-bin/nav.pl?page=menu&in=home"   [MsgId: MMSG-26659]
Action.c(26): Found resource "http://192.168.1.7:1080/WebTours/images/signoff.gif" in HTML "http://192.168.1.7:1080/cgi-bin/nav.pl?page=menu&in=home"   [MsgId: MMSG-26659]
Action.c(26): web_submit_form("login.pl_2") was successful, 5780 body bytes, 2044 header bytes, 36 chunking overhead bytes      [MsgId: MMSG-26385]
Ending action Action.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.

思考时间可以设置

5.脚本增强

如何加强脚本

事务插入

函数:

lr_start_transcation(“login”) 开始事务

lr_end_transaction(“login”, LR_AUTO);结束事务

注意:事务必须有开始,有结束。缺一不可,会报错,名称也必须匹配

点击运行

事务的开始和结束

插入集合点

集合是什么?

在loadrunner为了达到并发这样的机制,引入了集合

让所有用户同时发起请求,等到所有用户都发出了,才向下执行脚本

lr_rendezvous(“rendzous1”);

插入检查点

属于注册函数,需要放在URL之前才会生效,

函数:web_reg_find();

参数化

还可以添加参数

运行:

打印相关日志

函数:lr_log_message(“打印内容”);

Action()
{

    web_url("WebTours", 
        "URL=http://192.168.1.7:1080/WebTours/", 
        "Resource=0", 
        "RecContentType=text/html", 
        "Referer=", 
        "Snapshot=t1.inf", 
        "Mode=HTML", 
        LAST);



    lr_think_time(15);

    lr_rendezvous("rendzous1");

    lr_start_transaction("login");
    //一百万用户到达这个点后才进行向下执行
    web_submit_form("login.pl", 
        "Snapshot=t2.inf", 
        ITEMDATA, 
        "Name=username", "Value=Test", ENDITEM, 
        "Name=password", "Value=123456", ENDITEM, 
        "Name=login.x", "Value=43", ENDITEM, 
        "Name=login.y", "Value=9", ENDITEM, 
        LAST);

    lr_think_time(7);

    lr_end_transaction("login", LR_AUTO);

    web_reg_find("Fail=NotFound",
        "Search=All",
        "SaveCount=",
        "Text=Welcome",
        LAST);


    web_submit_form("login.pl_2", 
        "Snapshot=t3.inf", 
        ITEMDATA, 
        "Name=username", "Value={username}", ENDITEM, 
        "Name=password", "Value={password}", ENDITEM, 
        "Name=login.x", "Value=51", ENDITEM, 
        "Name=login.y", "Value=5", ENDITEM, 
        LAST);

    lr_log_message("登录成功!");

    return 0;
}

3.Controller的基础使用

Controller功能:用来设计测试场景

通过Controller设计简单的测试场景,简单的分析性能测试报告

Controlletonr打开方式:通过VUG打开或者双击直接打开

这种就是VUG打开,直接打开方式:

将左侧需要的导入点Ok即可

设置场景

虚拟用户交流表

开启这些服务 ,才能检测windows资源

添加监视

运行场景

这里需要注意这个软件的BUG,需要点击view,show available graphs,然后点击右上方的 调整窗口大小 的按钮 才能显示出下列图表

一些放大图表

4.Analysis基础使用

先勾选运行完场景后自动生成测试报告

将运行时间改短一些,然后运行等待,自动生成测试报告

分为两部分

汇总报告

这是汇总报告,下面是图表

图表

要查看其他指标的图,可以添加


添加虚拟用户汇总表

合并其他表(点击率和吞吐量)

趋势大致相同,就没什么问题(点击在吞吐量之前,先请求才会有吞吐量。并且趋势大致相同 )



原文链接: https://blog.csdn.net/chenchenchencl/article/details/131843720

标签: #测试 21 #软件开发 1171
相关文章

万字:支付“核心系统”详解 2024-11-02 15:33

专栏作者:隐墨星辰 \| 主编:陈天宇宙 这篇文章也尝试化繁为简,探寻支付系统的本质,讲清楚在线支付系统最核心的一些概念和设计理念。 虽然支付行业已经过了风头最劲的时光,但跨境支付仍然在蓬勃发展,每年依然有很多新人进入这个行业,这篇文章尝试为这些刚入行的新人提供一点帮助。 文章只介绍一些支付行业十几

资深支付架构师视角:实战从问题定义到代码落地的完整套路 2024-11-02 15:33

前言 今天从一个实际案例入手,介绍站在架构师的角度,如何识别并定义问题,提炼需求,技术方案选型,再到详细设计,最后利用AI的能力协助写出核心的代码,验证与调优。 解决问题存在一定的模式,也可以称之为框架,总结出自己的思考和解题框架,以后再碰到同类型的问题就可以如庖丁解牛一样容易。 很多年前,我写代码

Spring 实现 3 种异步接口 2024-10-18 09:07

大家好,我是苏三~ 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性,处理结果仅返回单个值。在某些场景下,如果需要接口异步处理的同时,还持续不断地

重学SpringBoot3-集成Redis(五)之布隆过滤器 2024-10-08 11:24

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(五)之布隆过滤器 1. 什么是布隆过滤器? * 基本概念 适用场景 2. 使用 Redis 实现布隆过滤器 * 项目依赖 Redis 配置

设计模式第16讲——迭代器模式(Iterator) 2024-10-08 11:24

一、什么是迭代器模式 迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 二、角色组成 抽象迭代器(Iterator):定义了遍历聚合对象所需的方法

vue2路由和vue3路由区别及原理 2024-10-08 11:24

一、Vue2 与 Vue3 路由的区别 1. 创建路由实例方式的不同 Vue 2 中,通过 Vue.use() 注册路由插件,并通过 new VueRouter() 来创建路由实例。 import Vue from 'vue';import VueRouter from 'vue-router';i

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.