lr总结
最近一直在用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总结的更多相关文章
- LR破解版录制手机脚本(一)模拟器录制
最近在网上听到好多童鞋都在问如何用LR做手机性能测试,恰好自己对这方面也挺感兴趣,经过查阅很多资料,形成此文档以做备注~!如果有感觉我写的不对的地方,敬请指正,谢谢~! 其实自从LR12出来之 ...
- LL LR SLR LALR 傻傻分不清
[转] 一:LR(0),SLR(1),规范LR(1),LALR(1)的关系 首先LL(1)分析法是自上而下的分析法.LR(0),LR(1),SLR(1),LALR(1)是自下而上的分析法. ...
- 逻辑回归(LR)总结复习
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 最基本的LR分类器适合于对两分类(类0,类1)目标进行分类:这个模型以样 ...
- LR中的时间戳函数web_save_timestamp_param
以前真没注意过后面看某个群有人说到这个函数一查,还真有,那么处理时间戳就简单很多了,我们经常在各种网站上看到类似于这样的时间戳 51Testing软件测试网"d bLq!uR&am ...
- 逻辑回归LR
逻辑回归算法相信很多人都很熟悉,也算是我比较熟悉的算法之一了,毕业论文当时的项目就是用的这个算法.这个算法可能不想随机森林.SVM.神经网络.GBDT等分类算法那么复杂那么高深的样子,可是绝对不能小看 ...
- 对LR关联的一些理解
从接触LR关联的迷茫,到现在略有感悟,小记期间的一些理解. 一开始认识关联是在LR自带学习例子,需要关联session,也知道了自动关联,手动关联以及边录制边关联. 在使用关联的过程中,也学习了web ...
- LR中线程和进程的区别
LoadRunner中的进程与线程 1.进程与线程的区别: 进程和线程的区别是什么?进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别 ...
- 逻辑回归算法的原理及实现(LR)
Logistic回归虽然名字叫"回归" ,但却是一种分类学习方法.使用场景大概有两个:第一用来预测,第二寻找因变量的影响因素.逻辑回归(Logistic Regression, L ...
- LR录制Flex+Web,登录功能之登录密码出错的处理
在LR中录制好更改密码脚本,Controller中使用少量用户进行:单用户多迭代.多用户单迭代.多用户多迭代,运行正常,于是使用490Vuser+2iteration修改980个用户的密码,部分 Vu ...
- LR自定义函数以及调用
2.2.自定义函数以及调用 2.2.1.虚拟用户编程,使用C# 语言DLL 在VS中建立DLL类库项目,编写函数时使用public声明:实现函数后编译生成DLL: 在LR中建立 .Net Vuser脚 ...
随机推荐
- 微信小程序传值
方式一:通过设置id方式传值 <button class="btninvest" bindtap="goinvet" id="{{item.tx ...
- (转) 使用vivado创建工程 4[完结]
由于自己手头暂时没有开发板,因此本节没有测试,故告之. Connecting to ZedBoardBefore we can run the application we have to conne ...
- Ubuntu+NDK编译支持HTTPS的libcurl
参考文章:1.NDK环境配置 http://blog.csdn.net/smfwuxiao/article/details/65877092.libcurl的配置修改 http://piggyq.co ...
- Python学习笔记(三十四)—内置模块(3)base64
摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431954588 ...
- CSS进阶知识
html { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } 该属性的作用是 ...
- ⑦ 设计模式的艺术-13.代理(Proxy)模式
为什么需要代理模式 中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口. 开闭原则,增加 ...
- spring 添加controller返回值绑定
@EnableWebMvc @Configuration public class Config { @Autowired private RequestMappingHandlerAdapter h ...
- 【leetcode 简单】 第五十一题 有效电话号码
给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个 bash 脚本输出所有有效的电话号码. 你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxx ...
- E.Text Editor (Gym 101466E + 二分 + kmp)
题目链接:http://codeforces.com/gym/101466/problem/E 题目: 题意: 给你s串和t串,一个数k,求t的最长前缀串在s串中出现次数不少于k. 思路: 一眼二分+ ...
- 78.PL和PS通过BRAM交互共享数据
本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果 ...