最近一直在用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包