最近一直在用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. poj3613Cow Relays

    Cow Relays Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7683   Accepted: 3017 Descri ...

  2. js-之闭包的理解

    说说你对闭包的理解? 答:闭包是能够读取其它函数内部变量的函数.本质上闭包是将函数内部和函数外部连接起来的一座桥梁.由于js的链式作用域,因为函数也是对象,函数内部访问函数外部的变量就类似于子对象一级 ...

  3. Fiddler 网页采集抓包利器__手机app抓包

    用curl技术开发了一个微信文章聚合类产品,把抓取到的数据转换成json格式,并在android端调用json数据接口加以显示: 基于weiphp做了一个掌上头条插件,也是用的网页采集技术:和一个创业 ...

  4. java中集合去重1

    //TreeMap 处理 处理后 得到的值 按拼音排序 TreeMap map = new TreeMap(new MaterialComparator()); map.put("东莞&qu ...

  5. Redis实战(六)管道

    https://www.cnblogs.com/huangxincheng/p/6212406.html

  6. [译]Quartz.Net 框架 教程(中文版)2.2.x 之第三课 更多关于Jobs和JobDetails

    第三课 更多关于Jobs和JobDetails 在这二课我们已经学习到,Jobs接口非常容易实现,只有一个execute方法.我们需要再学习一些知识去理解jobs的本质,Job接口的execute方法 ...

  7. 爬虫--Scrapy框架的基本使用

    流程框架 安装Scrapy: (1)在pycharm里直接就可以进行安装Scrapy      (2)若在conda里安装scrapy,需要进入cmd里输入指令conda install scrapy ...

  8. unity3d 资源文件从MAX或者MAYA中导出的注意事项

    unity3d 资源文件从MAX或者MAYA中导出的注意事项     1.首先,Unity3d 中,导出带动画的资源有2种导出方式可以选择:    1) 导出资源时,只导出一个文件,保留模型,骨骼和所 ...

  9. [\u4e00-\u9fa5] //匹配中文字符

     [\u4e00-\u9fa5] //匹配中文字符 ^[1-9]\d*$    //匹配正整数^[A-Za-z]+$   //匹配由26个英文字母组成的字符串^[A-Z]+$      //匹配由26 ...

  10. java.lang.NoClassDefFoundError: HttpServletRequest

    在eclipse里启动tomcat报错,错误日志:Caused by: java.lang.ClassNotFoundException: HttpServletRequest 在build path ...