最近一直在用Loardrunner做性能测试,记录下自己在工作中遇到的问题。

  • LR的基本设置

首先是录制,在录制前选择TOOLS-recording options 在General中选择recording方式HTTP协议的选择HTML-based script方式,如果是HTTPS协议选择URL-based script方式;选择HTTP  propertie-Advanced,support charset选择UTF-8,此处如果在回放过程中,还是有乱码,检查被录制代码中是否有编码不是UTF-8的设置。

然后选择回放方式,TOOLS-General Options选择Dispaly标签页,所有的选项都选中。在回放时就会显示录制的页面了。

设置运行时选项,Vuser-Run time-settings,住要设置Think Time,Internet Protocol-Preferences,Run logic,Log,Miscellaneous次选项下,一般设置Vuser按线程运行,error  handing一般选择continue on error当错误发生时继续运行。

  • LR脚本的优化

录制好的脚本,首先进行回放,回放成功后开始对脚本进行优化,使其可以更真实的模拟用户操作。

在优化过程中一般需要添加事务、集合点、参数化、关联。

事务是为了记录服务器的响应时间(响应时间应该包括了用户的请求时间、网络延迟时间、WEB服务器到应用服务器,应用服务器到数据库服务器传递时间,以及各种服务器返回的响应时间)在添加事务时需要注意不要把思考时间放在事务内。事务的结束可以是自动的也可以通过编写代码来进行fail或者pass的判断。

集合点是为了让虚拟用户在同一时刻对服务器进行访问,此功能可用在对服务器进行压力操作时使用。

参数化是对变量进行多种赋值,使模拟操作更真实。

关联在脚本优化中经常用到,当服务器给客户端每次返回不同的值时,需要用关联来捕获该值。

  • LR场景设计

a.分析用户模型:根据系统记录日志对用户操作进行建模和分析,如果没有记录日志可采用第三方工具获取用户行为模型。

b.编写测试用例:编写测试功能点的测试用例,其实就是用户的操作顺序。

c.建立用户场景:具备以上条件后,进行场景设置。

在Design菜单下,选择Start  Vusers要模拟多少个用户在start处就填写多少个用户,接着选择加压方式,一般不会全部进行加压,场景默认15ss启动2个VUSER,这里可以根据实际的用户行为进行设计;Duration持续时间的设置,持续时间是指在本次场景执行完以后,如果持续时间还没有完成会继续进行下一次的场景运行;Stop  Vusers设置用户的停止行为,一般保持和启动用户相同的设置。

在Run菜单下,添加计数器。

在场景运行过程中经常会遇到各种各样的超时问题,在场景中选择被执行的脚本,点击右键,选择run-time  settings——Internet Protocol——Preferences——Options

调整HTTP-request connect  timeout(sec)                HTTP-request receive timeout(sec)                HTTP-keep-Alive timeout(sec)                Step  download timeout(sec)   值,一般设置在600sec,自己在项目中都设置为1200sec

在design中选择TOOLS-options下的Timeout标签页调整时间

在design中选择场景菜单下的集合点,在policy中设置集合点策略。

  • 在LR中调用java

选择协议为java  vuser,在Vuser—run-time settings菜单下选择Classpath,把需要用到的jar包导入进来,一般系统会默认自己导入JAR包,如果不对要自己删除后,重新添加有用jar包

lr总结的更多相关文章

  1. LR破解版录制手机脚本(一)模拟器录制

    最近在网上听到好多童鞋都在问如何用LR做手机性能测试,恰好自己对这方面也挺感兴趣,经过查阅很多资料,形成此文档以做备注~!如果有感觉我写的不对的地方,敬请指正,谢谢~!     其实自从LR12出来之 ...

  2. LL LR SLR LALR 傻傻分不清

    [转] 一:LR(0),SLR(1),规范LR(1),LALR(1)的关系     首先LL(1)分析法是自上而下的分析法.LR(0),LR(1),SLR(1),LALR(1)是自下而上的分析法.   ...

  3. 逻辑回归(LR)总结复习

    摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 最基本的LR分类器适合于对两分类(类0,类1)目标进行分类:这个模型以样 ...

  4. LR中的时间戳函数web_save_timestamp_param

    以前真没注意过后面看某个群有人说到这个函数一查,还真有,那么处理时间戳就简单很多了,我们经常在各种网站上看到类似于这样的时间戳 51Testing软件测试网"d bLq!uR&am ...

  5. 逻辑回归LR

    逻辑回归算法相信很多人都很熟悉,也算是我比较熟悉的算法之一了,毕业论文当时的项目就是用的这个算法.这个算法可能不想随机森林.SVM.神经网络.GBDT等分类算法那么复杂那么高深的样子,可是绝对不能小看 ...

  6. 对LR关联的一些理解

    从接触LR关联的迷茫,到现在略有感悟,小记期间的一些理解. 一开始认识关联是在LR自带学习例子,需要关联session,也知道了自动关联,手动关联以及边录制边关联. 在使用关联的过程中,也学习了web ...

  7. LR中线程和进程的区别

    LoadRunner中的进程与线程    1.进程与线程的区别: 进程和线程的区别是什么?进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别 ...

  8. 逻辑回归算法的原理及实现(LR)

    Logistic回归虽然名字叫"回归" ,但却是一种分类学习方法.使用场景大概有两个:第一用来预测,第二寻找因变量的影响因素.逻辑回归(Logistic Regression, L ...

  9. LR录制Flex+Web,登录功能之登录密码出错的处理

    在LR中录制好更改密码脚本,Controller中使用少量用户进行:单用户多迭代.多用户单迭代.多用户多迭代,运行正常,于是使用490Vuser+2iteration修改980个用户的密码,部分 Vu ...

  10. LR自定义函数以及调用

    2.2.自定义函数以及调用 2.2.1.虚拟用户编程,使用C# 语言DLL 在VS中建立DLL类库项目,编写函数时使用public声明:实现函数后编译生成DLL: 在LR中建立 .Net Vuser脚 ...

随机推荐

  1. python 分享文件

    http://note.youdao.com/noteshare?id=1787e8bf3a71fca16005ece3e7fffb6c

  2. bzoj 2081 [Poi2010]Beads hash+调和级数

    2081: [Poi2010]Beads Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1003  Solved: 334[Submit][Statu ...

  3. Qt ------ 再论事件循环

    在介绍在以前,我们要认识两个术语: 可重入的(Reentrant):如果多个线程可以在同一时刻调用一个类的所有函数,并且保证每一次函数调用都引用一个唯一的数据,就称这个类是可重入的(Reentrant ...

  4. Linux iptables:规则原理和基础

    什么是iptables? iptables是Linux下功能强大的应用层防火墙工具,但了解其规则原理和基础后,配置起来也非常简单. 什么是Netfilter? 说到iptables必然提到Netfil ...

  5. SSH免密码登录,实现数据传输备份

    简单来说,就是通过ssh-keygen -t rsa命令来产生一组公私钥,私钥是id_rsa,公钥是id_rsa.pub,把公钥上传到另一台服务器对应账号的.ssh/authorized_keys,即 ...

  6. 基于javaWeb阶段下的Servlet总结

    1. Servlet概述   Servlet是用Java语言编写的服务端的程序,采用request--response模式提供Web服务,并且支持标准ServletAPI,Servlet就一个运行在w ...

  7. 解决CodeBlocks无法自动补全的问题

    在Deepin下安装的CB,输入printf.scanf的时候不会自动补全,这样就很难受. 解决办法是在Setting -> Editor -> Syntax highlighting - ...

  8. Discrete Logging(POJ2417 + BSGS)

    题目链接:http://poj.org/problem?id=2417 题目: 题意: 求一个最小的x满足a^x==b(mod p),p为质数. 思路: BSGS板子题,推荐一篇好的BSGS和扩展BS ...

  9. npm的常用命令

    npm install <name>安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本, ...

  10. VC孙鑫老师第八课:你能捉到我吗?

    第一步,首先在对话框窗口上放上两个一模一样的按钮控件 第二步,由于是按钮响应鼠标移动上去的事件,因此需要重新派生按钮类: 第三步,在窗口类中声明并使用自定义按钮对象(记得在窗口类中包含自定义按钮类的头 ...