性能测试工具 - LoadRunner

什么是性能测试?

性能测试就是测试人员利用性能测试工具模拟系统在不同情况下的性能指标是否正常。

性能测试工具 - LoadRunner

接下来介绍LoadRunner的作用和使用。

LoadRunner 就是一个很常见的性能测试工具,它有三个部分组成:

这三个组件的功能分别对应了他的三个特点:

Virtual User Generator:  强大的脚本录制功能,以及编码功能;

Controller:  可以设计出非常丰富的测试场景;

Analysis:  可以产出非常丰富的测试报告。

注意:LoadRunner只能在Window环境上运行,若是MAC环境的话,只能安装虚拟机,在虚拟机上的window环境上进行操作。

接下来测试我们可以这样操作

 

打开后如图所示:

没错就是一个眼熟的黑框框,我们的老朋友命令行。,但是这不是重点,重点是我们要复制了IP,然后进行如下操作即可:(这里IP地址对应的证书过期了,我的浏览器挡着不让进,大家直接进就好,进不去的话就使用自己电脑的IP,如下)

那么为什么端口号是1080呢,这个是默认的,我们也是可以修改的:

那么接下来,还有一个很重要的文件就是下图展示的,这里听到名字大家因该能猜到了把,里边就是存放用户账号以及密码的,当然刚开始的时候,还没有注册,显示的会和下图一样,只有一个原本的名为jojo的文件,这是默认的一个账号。

注册流程,直接进入就是的

一条龙服务,流水线注册就好。(尽量不要使用中文名称进行注册,,,)

现在再打开刚才的user文件就可以看到:

好了,上述准备工作完毕,就要正式开始喽:

脚本录制和增强

脚本录制

直接双击桌面快捷方式打开VUG

新建一个文件:

 接下来的页面:

 今天演示使用一个web脚本,对应的使用http协议就好了

 创建成功页面如下:

填写好上述的就可以直接点击录制1了,出现一下画面代表你录制成功:

点击停止录制,就会回到刚才的页面:

这就是刚才录制的时候生成的脚本,当然把其中关于浏览器的操作可以删除掉。

编译运行:

结果: 

ok,以上就是脚本录制的全过程啦,很详细了吧~

脚本加强

性能测试要衡量性能指标,那么只是简单的录制脚本当然不够的啦,很重要的一个就是要加强脚本:

插入事务

首先这里的事务含义是,一个操作

这个名字是不是很眼熟,及时刚才录制的时候哪个遥控器上操作的名字就是这个了。哈哈,所以,他的一个操作方式就是在录制的时候用刚才那个按钮进行操控。

那么,在我们录制的时候,我们就可以把登录看作是一个事务,然后直接插入事务,在登录操作完毕的时候按下结束事务的按钮,这样就是一个插入事务的具体操作了。

上述脚本中的这句代码就是我们插入的事务,那么既然最终体现在脚本中,所以,当然啦,我们第二种方式就是直接在脚本代码的上边进行插入:

 最后一种呢直接搜索函数名称就好:

这里有一个注意点:事务要成对出现的,有开始就要有结束,才能成为一个事务。 所以大家要记得加上事务的结束哦

插入集合点

什么是集合点?

在 Loadrunner 里边通过设置集合点达到并发的目的。当脚本在多用户运行的时候,每次运行到集合点就会查看一下集合点的策略,来决定是等待其他用户到来还是继续运行。

集合函数:lr_rendezvous   

和上边的方法大差不差,可以通过快捷键,可以自己在脚本处编写或者通过搜索进行添加。

添加完毕应该是这样子的:

注意:集合是放在事务外,不然的话等待时间也会被算入事务时间,早进入集合点的用户的相应就会有错误。

插入检查点

检验页面渲染的内容对不对。

检查点函数:Web_reg_find

它属于一个注册函数,意思就是要在请求发送之前把函数写上就好啦。

参数化

要进行并发模拟的时候就需要多个用户同时登录,那么同时登陆多个用户的时候传参就需要参数化的操作了。(批量化处理的时候)

同样方法设置对应的密码:

点击运行,运行正确。

运行成功了,但是想要看是哪个用户登陆的,那么就需要进行设置:

设置完毕记得进行保存操作。

运行后如下就是正确的。

插入日志

日志就是方便我们进行排查问题,就这在i想要插入的位置进行插入就好啦。

 

字符串操作

这里C语言的字符串操作都可以使用:

测试场景设计-Controller

打开方式:VUG插件  或者  桌面图标

 

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

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

相关文章

【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门

大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。 因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是…

Java实现微信支付

微信支付 小黄最在工作中对接需要对接微信支付,在此记录一下微信支付开发的相关流程,望能帮助到各位 前期准备 由于小黄是小程序端需要对接微信支付,需要注册小程序等,小黄会一一列举出来 小程序注册 所需文件 没有注册过微信…

私有云盘:lamp部署nextcloud+高可用集群

目录 一、实验准备: 二、配置mariadb主从复制 三台主机下载mariadb 1)主的操作 2)从的操作 3)测试数据是否同步 三、配置nfs让web服务挂载 1、安装 2、配置nfs服务器 3、配置web服务的httpd 4、测试 四、web 服务器 配…

排序篇(三)----交换排序

排序篇(三)----交换排序 1.冒泡排序 基本思想: ​ 通过不断地比较相邻的元素,将较大的元素往后移动,从而实现排序的目的。 具体的步骤如下: 从待排序的数组中选择相邻的两个元素进行比较,如果前一个元素大于后一个元素&#…

ParagonNTFSforMac_15.5.102中文版最受欢迎的NTFS硬盘格式读取工具

Paragon NTFS for Mac是一款可以为您轻松解决Mac平台上不能识别Windows通用的NTFS文件难题,这是一款强大的Mac读写工具,相信在很多时候,Mac用户需要对NTFS文件的移动硬盘进行写入,但是macOS系统默认是不让写入的,使用小…

Nginx与Spring Boot的错误模拟实践:探索502和504错误的原因

文章目录 前言502和504区别---都是Nginx返回的access.log和error.log介绍SpringBoot结合Nginx实战502 and 504准备工作Nginx配置host配置SpringBoot 502模拟access.logerror.log 504模拟access.logerror.log 500模拟access.logerror.log 总结 前言 刚工作那会,最常…

Jmeter基础篇

1.性能测试指标 【虚拟用户数】:线程用户 【并发数】:指在某一时间,一定数量的虚拟用户同时对系统的某个功能进行交互,一般通过集合点实现 【事务】:事务代表一个完整的功能,一个接口可以是事务,多个接口…

第八章 排序 三、希尔排序

目录 一、算法思想 二、例子 三、代码实现 五、验证 六、空间复杂度 七、时间复杂度 八、稳定性 一、算法思想 先追求表中元素部分有序,在逐渐逼近表中元素全部有序。 二、例子 1、我们要升序排列此表 2、取一个差值作为子表的划分的条件,希尔本…

医疗器械标准目录汇编2022版共178页(文中附下载链接!)

为便于更好地应用医疗器械标准,国家药监局医疗器械标准管理中心组织对现行1851项医疗器械国家和行业标准按技术领域,编排形成《医疗器械标准目录汇编(2022版)》 该目录汇编分为通用技术领域和专业技术领域两大类,通用…

【逐步剖C】-第十一章-动态内存管理

一、为什么要有动态内存管理 从我们平常的学习经历来看,所开辟的数组一般都为固定长度大小的数组;但从很多现实需求来看需要我们开辟一个长度“可变”的数组,即这个数组的大小不能在建立数组时就指定,需要根据某个变量作为标准。…

分词.join 保存txt

要求 分词.join 保存txt 第1种方法 分词.join 保存txt input多行文本 /storage/emulated/0/数据中心/txt没有就新建为什么会想到这么做 1. 是因为有分词文件📄要处理 2. 对各种词语和线索进行分类 3. 解释一下生活中不常见的现象,但是深刻的符合社会…

Inno Setup新手使用教程

1.编写脚本.iss文件 2.使用Inno Setup打开脚本 3.点击运行 4.打包好的文件在output文件夹下 注:运行不通过可能是文件不存在或者路径错误 推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家: 零声白金学习卡(含…

PsychoPy Coder 心理学实验 斯特鲁普效应

选题:斯特鲁普效应实验 选题来源:你知道的「有趣的心理学实验」有哪些? - 知乎 (zhihu.com) 测试目标:探索斯特鲁普效应,即被试在判断文字颜色时,当文字的颜色与其所表示的颜色名称不一致时,是…

博途1200/1500 ALT指令

SMART PLC的ALT指令实现代码,请查看下面文章博客 SMART PLC如何构造ALT指令_smart200类似alt指令-CSDN博客单按钮启停这些老生常谈的问题,很多人感兴趣。这篇博文讨论下不同的实现方法,希望对大家有所帮助。指令虽然简单,但是在编程的时候合理使用对我们高效率编程帮助还是…

C/S架构学习之TCP的三次握手和四次挥手

TCP的三次握手:一定由客户端主动发起的,发生在建立连接的过程中。此过程发生在客户端的connect()函数和服务器的accept()函数之间。第一次握手:客户端向服务器发送一个带有SYN标志的数据包,表示客户端请求建立连接。并且客户端会选…

GO 中优雅编码和降低圈复杂度

本次主要是聊聊关于使用接口抽象和降低圈复杂度的方式 工作中,难免会遇到老项目老代码,不仅仅需要我们维护,可能还需要我们在原来的垃圾代码上进行新增功能或者是进行优化调整 例如 现有的老代码中关于用户系统这一块就已经经是摇摇欲坠&a…

python修改unittestreport中的用例条数

背景: 自动化框架中使用yaml文件作为数据配置,使用ddt作为数据驱动来运行测试用例,由于测试用例都是基于场景去编写,目前都是一个测试类算是一条测试用例,但基于测试报告里面一个类运行的测试方法有多个,因此统计的测试…

MATLAB 函数签名器

文章目录 MATLAB 函数签名器注释规范模板参数类型 kind数据格式 type选项的支持 使用可执行程序封装为m函数程序输出 编译待办事项推荐阅读附录 MATLAB 函数签名器 MATLAB 函数签名器 (FUNCSIGN) ,在规范注释格式的基础上为函数文件或类文件自动生成函数签名&#…

专题一:双指针【优选算法】

双指针应用场景: 数组划分、数组分块 目录 一、移动0 二、复写0 从后向前 三、快乐数 链表带环 四、盛水最多的容器 单调性双指针 五、有效三角形个数 单调性双指针 六、和为s的两个数字 七、三数之和 细节多 需再练 一、移动0 class Solution { public:void move…

使用Jest测试Cesium源码

使用Jest测试Cesium源码 介绍环境Cesium安装Jest安装Jest模块包安装babel安装Jest的VSC插件 测试例子小结 介绍 在使用Cesium时,我们常常需要编写自己的业务代码,其中需要引用Cesium的源码,这样方便调试。此外,目前代码中直接使用…