LoadRunner使用(1)
一、LoadRunner脚本录制
LoadRunner测试分为两个步骤:
第一步:录制脚本,其实就是监控并记录这段时间发送的HTTP请求
第二步:启动多个线程,用录制的脚本,模拟多线程发送请求。
(1)录制脚本
启动LoadRunner后,点击“Create/Edit Scripts”;然后点击web(HTTP/HTML)
2、设置各种信息
点击“开始录制”,出现录制选项,解释下,录制选项,
Application type:程序类型,因为我是测试web,所以选择Internet Applications
Program to record:录制程序,这里选择32位的IE8的物理路径,一般是:C:\Program Files (x86)\Internet Explorer\iexplore.exe
URL Address:这是我们要录制的路径,可以是内网,也可以是外网的,开始录制的时候,打开的将是这个网址
Working directory:这个路径,我也不知道是干嘛用的,目前没用到
Record into Action:录制脚本到那个地方,有三个选项,vuser_init,Action,vuser_end,如下下图。如果录制的脚本中含有集合点,则只能选择Action
Record the application startup:勾上,指设置好就开始录制。最后点击OK。
4、设置完成后点击OK,当出现如下的Banner条时,脚本就开始录制,此时LoadRunner会用刚才设置的浏览器打开刚才设置的网址。
开始录制过程,如下图
主要介绍几个按钮的使用。
1),集合点:要测并发需要插入集合点,只能插入一个集合点,而且,集合点的插入,要在事务的前面,否则会影响事务的响应时间。
2),开始事务:测试操作的响应时间之前,先插入开始事务,这是测试性能的关键。
3),结束事务:结束事务名和开始事务名必须一样,否则验证回放的时候,会报错。
4),注释:插入注释,以备阅读。
5),停止录制:录制完成之后,点击停止录制,要等一会儿,会自动生成脚本。
在这里要注意一个问题,就是,录制的动作不要太多,否则验证回放的时候,容易出错。比如说,我录制登录,或者登录之后的某个操作的性能和并发。注意不能过多的录制过程
5、脚本录制完成后会打开如下的界面,里面的代码就是刚录制的脚本。
注;要在录制脚本的时候,关掉无关的软件,否则可能会录入不少其他的信息
录制结束后,如下图所示:
可以查看任务,脚本,树等
6、替换内容即参数化
在代码中,可能需要替换一些内容,如登录账号及密码
参数化,参数化的目的是为了并发,比如我要测试多个Vuser,但登录名和密码不能只是一个,这个时候,就需要将登陆名和密码参数化,如下
参数化的步骤是,先选定用户名或者密码,如下图,右键---replace with a Parameter(参数化替换)--出现select or Create Parameter,定义一个参数名,同理参数化密码
操作步骤:
选中对应的参数,点击右键:
然后为该参数设置不同的值。
设置完成之后,先测试一次,看脚本有没有报错。
没有报错后,就保存脚本。
二、压力测试
1.点击Runner LoadTest、启动如下界面
2.在刚才录制的脚本Add到右边去
3.设置选项
4、设置用户示例
在场景中,设置如下参数,双击可进入设置,解释下,各个参数的意思
Start Vusers:下图的意思是,开启20个虚拟用户,每15秒开启2个。
Duration:持续时间,意思是,20个用户开启之后,持续5分钟运行。
Stop Vusers:停止虚拟用户,每30秒停止5个虚拟用户
5、启动测试
6、测试界面如下
右侧可以看到虚拟用户的运行时间图,如下所示
7.测试完成后点击“如图所示的图标”,就可以自定义各种报表
8.报表有很多中,也可以自定义,下面给出总概念的报表
LoadRunner使用(1)的更多相关文章
- 【云知道】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时出现“计算机缺少 ...
随机推荐
- MFC编辑框数据实时更新问题
在VC里,很多情况下需要更新控件,也就是调用UpdateData(FALSE);但是如果是在循环中调用该函数,会导致没有时间来刷新界面,消息得不到相应,从外部看来,似乎整个循环只执行了一次Update ...
- MultiBinding的StringFormat参数问题
在wpf的绑定中,我们会用到多值绑定,如下: <MultiBinding Mode="OneWay" StringFormat="{3}({0}/{1}):{2}& ...
- Ubuntu 12.04搭建hadoop单机版环境
前言: 本文章是转载的,自己又加上了一些自己的笔记整理的 详细地址请查看Ubuntu 12.04搭建hadoop单机版环境 Hadoop的三种运行模式 独立模式:无需任何守护进程,所有程序都在单个JV ...
- string行读入&&文件输入
普通读入的时候会以空格作为分隔符 直接用cin>>s读入,此时可以直接处理文件尾的情况 text代码: #include <iostream>#include <cstd ...
- 以交互方式将文本添加到图形中(matlab)
这篇博客记录一下怎么用matlab在图形中简单的添加一些文本,以直方图均衡化为例.先看几张图片吧,第一幅是较暗的花粉的电子显微图像和对应的直方图,第二幅是其直方图均衡化的图像和对应的直方图,第三幅是对 ...
- NOIP2015提高组 跳石头 ACM-ICPC2017香港 E(选择/移除+二分答案)
跳石头 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 NN ...
- "Mysql has gone away"的几种可能
现象: 在本地利用Flask自带的WSGI服务进行调试没有问题后,通过Gunicorn进行部署. 但是在一晚上没有访问之后,第二天再次访问会出现500(Internal error). 原因: 通过追 ...
- uoj#352. 新年的五维几何(概率期望+爆搜)
传送门 我还以为这是个五维半平面交呢--结果没看数据范围-- 题解 //minamoto #include<bits/stdc++.h> #define R register #defin ...
- css各种水平垂直居中
css各种水平垂直居中,网上查了一下,总结以下几种 line-height垂直居中 缺点,仅限于单行文字 .item{ text-align: center; height: 100px; line- ...
- Python面向对象之组合
# 组合: 给一个类的对象封装一个属性,这个属性是另一个类的对象. class GameRole: def __init__(self, name, ad, hp): self.name = name ...