LoadRunner 学习笔记摘要

概念

性能测试: 功能是否能做 ,性能是做的如何,怎么样?

并发 :同时访问一个功能 ,一个操作或一个服务器

响应时间 :快慢问题

需求 : 响应时间不超过3s

验证 :验证预期结果是否达到性能需求的要求

工作原理

Vugen生成脚本,由Controller将脚本分发到每台压力机上, 压力机模拟虚拟用户向服务器发送请求,服务器接收请求, 作出相应的响应,Controller监控整个过程服务器的指标, 最后生成报告发送给analysis

录制脚本过程 :

开始-->HP LR-->virtual user generator -->new

新建脚本选择网络协议

2.1如何选择协议

通过抓包工具抓取

查看性能需求文档

查看接口文档

询问开发

凭经验-web-http

2.2 单协议脚本

2.3 多协议脚本

录制框选择

3.1 选择被测系统的类型 :

-浏览器 -非浏览器

3.2 录制时采用的浏览器

-IE : 7,8,9,10

-Firefox : C:\Program Files(x86)\HP\LoadRunner\bin\firefox\firefox.exe(LR自带,最好将自己高版本firefox卸载)

3.3 被测服务器地址-图

3.4 设置录制选项

3.4.1 General----Recording

HTML-based script :

(1) weblink、websubmit_form(示范) 依赖上下文关系 ; 编写规则:

(2) weburl、websubmit_data(示范) 不依赖上下文关系编写规则: ;

URL-based script

抓取全部的http请求,适合基于非浏览器的脚本录制

LR脚本开发

LR脚本增强

录制脚本参数化

步骤:

1、首先确定脚本中需要参数化的对象/数据(变化的)

2、选中目标数据,右击选择

3、填写参数名称,点击确定

4、右键再点击选择参数属性或按下ctrl+L(右上角的P)打开参数设置界面,增加或修改数据,可点击进行编辑,设置参数取值策略(默认)

注意:参数化文件中的测试数据最后一行不能有空行

5、迭代次数设置: 50次

总结 :

参数化核心 :1.参数 2.修改运行次数

检查点

;

注册检查点

(1)打算要检查什么告诉脚本, 脚本先声明变量把要检查的东西放进去, 如果在下面的响应中出现就找到了, 找到的次数也会记录。

(2)放在要检查的请求前面就

什么时候要加检查点

验证业务逻辑

登陆是否登陆上 200-登陆不成功状态响应码也200

不加

LR验证协议状态响应码如果是200就通过 200:只要有响应就是200

登陆成功不成功,检查点区别出现

不重要

性能关心是吞吐量,只要吞吐量没有大变化,数据是否正确不太关心

实际操作 :

插入检查点函数 ;

insert ->new step 插入检查点函数: ;

检查点参数化 ;

总结 :

检查点核心 :

1.检查点函数 ;

2.参数化

3.一定要放在 注册事件函数之前 可以在注册函数之后}

以上代码:

事物

为了记录响应时间 ;

① 开始事物

lrstarttransaction("xxx_");

② 结束事物

//添加结束事物, 时间结尾值减去时间开始值,就是中间经历的响应时间

③ 检查点

注意事项

不要把开始时间放在思考时间和检查点外面, 要放在具体的action之间

思考时间

函数名 :

-模拟真实

-等待加载

-不加-测试最大压力

关联 (session)

Tree视图 :

背后做了三件事:

注册 session函数

Usersession 参数参数化

查找session函数放置的位置很重要(和检查点有点类似)

场景设计(前脚本要满足的条件)

脚本回放没问题

加参数化

可以加检查点

检查点的参数化

4. 加事务

开始

结束

5. 如果需要关联加关联

注册没有关联 ,

登陆脚本有关联,

订票脚本没有session .

LR配置及选项

run-time settings

(一):Run logic

如何模拟实现真实网站在运行时不同的人访问不同的模块?* 用户建模 *

int

action

random 设置随机概率 , 概率总和必须为100%

Block(代码块): 让脚本更加灵活,可单独设置某 几个脚本的运行规则

针对Run和Block都有properties属性设置 - sequential 设置运行顺序

end

(二):pace步长

(三):Log

如果用户有10个,怎么能从日志中看出哪个用户登录? 如何看出参数的替换的变化值,怎么看到服务器响应的数据?

 扩展日志打钩可以看到登录的用户—log

 runtimesetting-log--expand log

(1) Enable logging启用日志

log options:

 当错误出现时发送日志

 始终发送日志

 标准日志

 扩展日志

(四):其他

进程与线程 ???

一个程序一般一个或多个进程,一个进程包含一个或多个线程 ,进程消耗资源大,线程小 ,选择线程可以多加几个虚拟用户

录制选项

Html : WEB基本选择这个选项 , 包含明确的URL脚本---走底层协议,请求

URL : 如果页面上面有 , ,等,回放不成功,可能需要选择这个录制。

general option常规选项

(1)录制选项选择

Html : WEB基本选择这个选项 , 包含明确的URL脚本---走底层协议,请求

URL :

如果页面上面有js,ajax,等,回放不成功,可能需要选择这个录制。

(2)解决乱码问题

实践

任务:录制登陆脚本,参数化,关联,检查点,及检查点的参数化,添加事务开始与结束,进行场景设计:找到本机并发登陆最大的临界点,场景策略中日志策略为只有错误才打日志,思考时间策略是忽略思考时间,执行的策略,先是10人,20,。。。50人,70人,等。将最高一次并发保存场景结果并生成分析报告。

场景计划策略,每10秒中上去5个人,持续5分钟,每10下来10个人。

生成报告 13张,包括window的资源加上。

LR场景设计监控

设计

进入方式 ,场景分类;

设计场景

(0) 场景组脚本

(1) 设置用户负载方式

(2) 基本练习

(3) 如何实现这两张图的效果?

场景设计策略

SLA(服务水平协议)

压力机

场景时运行时设置策略

截图 :

异常情况解决

原理扩展

运行

(1) 状态

(2) 监控界面显示的表

运行结果的调整和分析

信息

分析与调整

超时-第一步调优,放开超时时间

分析报告

常用的13项指标截图

.性能指标及原理

响应时间

吞吐量

资源利用率

总结:

. 每个图表分析

概要报告

要加图的顺序和个数

running vusers

错误图

TPS-重要的性能指标之一

Hits

connection

硬件资源

web

. 分析与定位过程

按顺序看图将每个图中有问题的部分标记下来

我们从图中的标记的得到一些信息

submit分析报告

分析原则

webTours项目的性能测试过程

常见问题 :1. 录制弹框无法打开浏览器

指定浏览器的位置, 选择loadRunner自带的浏览器

2. UTF-8解决乱码问题

HTTP Properties—Advanced Support Charset UTF-8

3. 如果没有事件

把类似代理的全部关闭

浏览器代理需要设置回自动蓝灯关闭

4. IE不能启动

检查杀毒软件是否关闭

检查IE版本是否是8/9/10

更换为火狐浏览器(自带)

如果始终解决不了,放弃录制,选择手写脚本

5. 更换 submit_data函数

6. 查看图片器View->test result 查看报告 , 日志

7. 点击录制无响应

方法一:

设置浏览器点工具--Internet选项---高级,把“启用第三方浏览器扩展”去掉,保存。

方法二:

右击我的电脑,选择“属性”,进入“高级”选项卡页面,点性能处的“设置”按钮,选择“数据执行保持”,添加两个程序:IE和vugen.exe.

1)添加IE。点添加按钮,选择IE的安装路径。如我的是C:\Program Files\Internet Explorer\InternetExplore (浏览器看个人喜好选择就行)

2)添加vugen.exe。点添加按钮,选择vugen.exe的安装路径。如我的是

D:\Program Files\HP\LoadRunner\bin\vugen.exe

8. 注册函数

9. 登录函数

10. http高级选项

录制请求头 :

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1

11. Loadrunner Controller运行不了,提示cannot create Vusers

执行场景时显示: Loadrunner Controller cannot create Vusers.Ensure that your load generators are available and that your scripts are valid.

解决:在设置场景页面的第一个模块里有个属性列为Load Generators,点击后下面会显示有一个add,点击add,添加Name:localhost (一般为本机IP),点击OK就可以运行了

12. 关于解决LoadRunner中Controller里面Scenario菜单下的Rendezvous还是灰色,不能被选择

出现如下问题, Rendezvous还是灰色:

出现这个问题的原因是在录制脚本或自己编写脚本的时候,没有插入“集合点”(只有在对应的VU脚本中插入集合点之后,该按钮才能被选择)。

解决办法有两种:

1、录制脚本过程中插入集合点,这样在录制完成后会自动在代码中插入集合点。 2、利用函数lr_rendezvous("xx"),手动在代码中插入集合点;

集合点插入成功后,Remove之前的用户组,重新添加你修改过的用户组脚本,这时候你就看到Controller里面Scenario菜单下的Rendezvous变为可选

13. server setting

14. 专家模式

15. 修改配置,压力还是无法增大

END

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181209G0XAM600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券