LoadRunner使用
LoadRunner使用
软件版本:12.53 build 1203
操作系统: Windows7
以下内容摘录自LoadRunner的官方帮助文档。
介绍
LoadRunner现在是HP公司的产品,其用于进行对网站的压力测试。现在这款产品免费下载,提供最大50个用户的测试,要想更多就需要付费了。
此产品一共有3个组件(软件)
- VuGen(Virtual User generator) 目的是生成测试脚本,可以采用录制的方式生成测试脚本(被称作Vuser script)
- Controller 用于组织、驱动、管理和监视压力测试
- Analysis 用于分析和图形化显示测试结果和报告,比较压力测试结果.
- Load Generator, 计算机其运行Vuser来生成一个压力给被测试的系统。(估计指的是计算机本身,不是软件)
安装LoadRunner之后就会在开始菜单中看到HP Software->HP LoadRunner下有上面三个程序。
术语
- Scenario 定义在测试会话中发送的时间。(我的理解就是测试场景,就像开发中的代码工程一样,组织测试所需的部件和动作)
- Virtual User或Vusers 模拟测试人员的动作,一个测试场景中可以包含成千上万的Vuser。
- Vuser Script 记录一个测试过程中的所有动作。
- Protocol 测试中与被测试的服务器连接采用的协议,一般web就是HTTP
- Transaction 把测试过程划分为事务,可以测量事务执行的时间
- Script footprint 执行测试脚本过程中不同资源的使用率,例如内存,CPU和磁盘。
测试过程
典型的测试过程为:
- 计划 (非软件操作,而是测试目标和测试需求,你总要知道自己测啥吧,达到什么并发量吧,这才能决定代码合不合格)
- 建立Vuser Script (使用VuGen软件捕获用户动作来生成测试脚本)
- 定义Scenario (使用Controller软件来建立压力测试环境)
- 运行Scenario (使用Controller来驱动,管理和监视测试)
- 分析结果 (使用Analysis软件来建立图形化的报告,和评估系统性能)
采用HP自带的例子进行测试
这个软件本身提供了一个示例应用。也就是说LoadRunner里面自带了个写好的旅游系统,你需要把它运行起来,再用LoadRunner软件去测试它,明白了么?
这个例子系统是个Web系统,其具有搜索航班、订机票、检查行程等功能。这个演示系统叫做HP Web Tours,要把它运行起来需要以下条件:
- LoadRunner需要安装到默认目录(改了安装目录的人别想了,直接重新安装吧,要不就使用自己的系统测试)
- 必须是IE10+以上的版本
- Java 7u65 or Java8
- 打开控制面板--> Java --> 安装选项卡 --> 在例外网站中添加 http://127.0.0.1:1080 和 http://localhost:1080
启动例子程序: 开始菜单--> 所有程序 --> HP Software --> HP LoadRunner -> Samples -> Web --> Start HP Web Tours Server.
然后打开浏览器,访问: http://127.0.0.1:1080/WebTours/index.htm,应该会看到登录页面。输入用户名:jojo, 密码: bean。
登录进入后,选择Flights-> 选择Arrival city为Los Angeles,然后一直选择continue,直到最后订票完成。
1. 建立Vuser Script
Vuser脚本就是采用录制和回放来生成测试脚本。
建立空白Vuser Script
打开Virtual User generator软件,选择工具栏左上角的New Solution
,然后在弹出的对话框中Single Protocol中选择Web-HTTP/HTML
,然后点击create
按钮。
录制Vuser Script
上面建立的是空白的脚本,这步骤是要往空白脚本里面添加内容。采用录制的方式。
点击菜单中的Record --> Develop Script 或者点击工具栏上的 Develop Script。都是一样的。然后会自动弹出浏览器窗口。
由于我没有按照IE10及以上版本,所以LoadRunner给我指定的是Firefox浏览器(工具栏上能看到)。
在浏览器上输入http://127.0.0.1:1080/WebTours/index.htm(奇怪的是左侧是录制过程界面,右面会显示你系统的网页),打开后登陆,选择预订机票的所有动作,都会在左侧窗口显示出来。
整个显示效果还不错。而且上面还有工具条控制录制过程,停止后还能点击Replay回放整个过程。可视化过程做的很不错。
我记得老版本是悬浮一个工具条,但新版本改进了,左侧出现录制过程。
点击"Stop Recording"按钮后,关闭浏览器,回到LoadRunner后就会看到Action对应的脚本文本中显示了测试过程对应的代码。
如何替换变化的值
对于网站中个变化的属性,例如Session ID,如果每次测试都使用相同的值是测试不了的。所以需要让LoadRunner临时取得这个值,那么就要用到correlate功能。
步骤:
- 打开Design Studio: 在菜单Design --> Design Studio
- VuGen软件会自动发现可能的动态值,并提示给你
- 选择其中的Session ID,点击Correlate按钮,VuGen改变Session ID的状态为Applied。
- 关闭Design Studio
设定脚本的运行时表现
测试脚本运行过程中应该干嘛的配置,例如Action重复几次,模拟用户的Think time的时间间隔。
Pacing是用来控制每次迭代测试过程之间的时间间隔。
注意:在Controller软件中也有运行时的配置。
2. 运行Vuser Script,执行压力测试
启动Controller软件,然后设定运行的Vuser个数,运行时的其他信息,然后点击start按钮来执行压力测试。
3. 分析结果
打开Analysis软件,导入Senario,然后就可以看到report了。这时可以建立SLA,与压力测试的结果进行比较,对比出差距。
LoadRunner有官方的使用手册,那个手册在安装LoadRunner时自带的,讲的非常详细。
参考
- http://blog.csdn.net/anialy/article/details/32086815
- http://blog.csdn.net/liusong0605/article/details/30287155/
LoadRunner使用的更多相关文章
- 【云知道】LoadRunner 录制问题集锦
关键词:各路录制小白汇集于此 虽然知道君对录制不感冒,但总是看到扎堆的人说这些问题,忍不住要站出来了. 百度虽好,帮助了很多小白,但关键是百度并没有排除错误内容,经过历史的几年传播,错的都快变对的了, ...
- 【云知道】究极秒杀Loadrunner乱码
Loadrunner乱码一击必杀 之前有介绍一些简单的针对Loadrunner脚本或者调试输出内容中乱码的一些设置,但是并没能完全解决一些小伙伴的问题,因为那些设置实在能力有限,还是有很多做不到的事情 ...
- LoadRunner函数百科叒叒叒更新了!
首先要沉痛通知每周四固定栏目[学霸君]由于小编外派公干,本周暂停. 那么这周就由云层君来顶替了,当然要要说下自己做的内容啦,DuangDuang! <LoadRunner函数百科>更新通知 ...
- Loadrunner Http Json接口压力测试
前天接到了一个测试任务,要求测试一下ES(elsticsearch)在不同并发下的查询效率.如图: 业务场景是在客户端根据具体车牌查询相关车辆信息,结果返回前10条记录. 从图中可以看到,接口的请求参 ...
- LoadRunner免费公开课,惠普金牌讲师亲授
[开课时间]:9月13日 下午2:00—4:00(暂定)[活动费用]:免费[主办单位]:慧都学院[课程形式]:网络在线公开课 LoadRunner简介惠普软件测试解决方案LoadRunner测试实例答 ...
- loadrunner性能测试---添加windows多台压力机
添加多台压力机 1.前置条件 1)保证压力机上都安装了loadrunner Agent,并启动,状态栏中会有小卫星. 2)添加的压力机与controller所在机器是否在同一个网段,建议关 ...
- LoadRunner安装+汉化+破解
因为工作需要要用到LoadRunner,找个好几个版本,换了两台电脑(公司的win7折腾了好久装不上去),耗时两天终于搞定了,分享给需要的小伙伴们,避免大家踩更多的坑~ 一.安装前的准备 Win10系 ...
- Loadrunner时间函数、用时间生成订单编号例子
Loadrunner中取时间函数.用时间函数生成订单编号例子: <如要转载,请注明网络来源及作者:Cheers_Lee> 问题的提出: (1)有时候在Loadrunner中用C语言设计脚本 ...
- 通过LoadRunner - Analyze详细分析页面元素请求
众所周知LoadRunner录制某个链接,包括动态请求与js.css.jpg等静态请求. web_custom_request("动态请求", "URL=http://w ...
- [LoadRunner]LR11安装或破解时报错的解决方法
背景:在性能测试项目上,需要安装到LR11进行性能测试,而在安装时会出现安装运行环境失败,安装文件缺失等问题.现总结了上述问题,并给出以下解决方法: 问题1:安装LoadRunner时出现“计算机缺少 ...
随机推荐
- Middleware / 中间件
中间件格式 module.exports = options => { return (ctx, next) => { // do something } } 中间件格式为一个高阶函数,外 ...
- Delphi iOS & macOS App 名称支持国际化多语显示
作用:在 OSX 图标下方显示 App 中文繁体或简体的名称(系统自动选取) 适用:XE7, XE8 for OSX 操作: 创建一个新工程. 在工程目录下创建二个文件夹(zh_??.lproj)文件 ...
- android开发内存优化之软引用
所有Android的开发者一定都遇到过内存溢出这个头疼的问题,一旦出现这个问题,很难直接确定我们的应用是那里出了问题,要想定位问题的原因,必须通过一些内存分析工具和强大的经验积累才能快速的定位到问题具 ...
- java远程开关机
最近,很多客户向我们反馈终端启动后异常的问题,因此,我自己做了一个远程开关的小工具,该工具的目的在于通过批量的方式来控制终端启动.其设计逻辑是通过服务端发送cmd指令 ,客户端接受并执行指令,把结果返 ...
- jquery遍历-filter()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- “全栈2019”Java第六十章:如何定义接口
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 二 ,Smarty模板技术/引擎——变量操作(1)
1,基本变量 $smarty->assign('data1',3); $smarty->assign('data2',3.45); $smarty->assign('data3',' ...
- mongodb获取具体某一天的查询语句
比如我要查询截止日期为2010-12-21这一天的数据记录.方法一. db.集合名.find({con_date:new Date("2010/12/21")})1方法二. db. ...
- 事件委托,元素节点操作,todolist计划列表实例
一. 事件委托 事件委托就是利用冒泡的原理,把事件加到父级上,来代替子集执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能:其次可以让新加入的子元素也可以拥有相同的操作. 比如有20个&l ...
- 简明依赖注入(Dependency Injection)
前言 这是因特奈特上面不知道第几万篇讲依赖注入(Dependency Injection)的文章,但是说明白的却寥寥无几,这篇文章尝试控制字数同时不做大多数. 首先,依赖注入的是一件很简单的事情. 为 ...