loadrunner工具使用之脚本创建

一、创建脚本

1、打开loadrunner,选择第一个控件VuGen(创建/编辑脚本),点击

如果测试系统包含多个协议,选择新建多协议脚本,选择目标协议,点击创建,如图:

2、URL地址输入被测系统地址,其他选项默认。如果被测系统不兼容IE,需要修改相应配置:应用程序类型选择Win32应用程序,要录制的程序栏选择支持浏览器.exe执行程序的绝对路径。

3、点击确定,进入录制界面,如图:

录制过程中可以进行一些操作,如点击插入开始事务和插入结束事务

4、点击停止

二、脚本优化

录制的脚本中会有些无用的请求,需要对把无用的脚本进行删除,如web_add_cookie信息,和其他无用的访问路径。可以根据访问的URL判断是否是需要的请求。

三、参数化

1、选择脚本中需要参数化的数据,右键选择替换为参数(Replace with a parameter),点击属性(proterties),可以选择添加行/列,如果参数化数据量比较大,选择用记事本编辑。

2、选择参数的方式可以通过模拟参数的方式进行查看(部分组合可以模拟),根据输入模拟的Vuser数,来模拟用户取值情况。

参数组合方式:

更新方法
(update method

数据分配方法(data assignment methed

sequential

random

unique

each iteration

vuser每次迭代都从数据表中获取下一个数据

vuser每次迭代都从数据表中获取一个新的数据

vuser每次迭代都从数据表中获取下一个唯一性的数据

each occurrence(data files only)

每当遇到参数时,vuser就从数据表中获取下一个数据,在同一个迭代中遇到多次也是如此

每当遇到参数时,vuser就从数据表中获取一个新的数据,在同一个迭代中遇到多次也是如此

每当遇到参数时,vuser就从数据表中获取下一个唯一行的数据,在同一个迭代中遇到多次也是如此

once

vuser第一次迭代取得的数据也将为vuser后续的迭代重复使用

vuser第一次迭代时取得的数据也将为该vuser后续的所有迭代重复使用

vuser第一次迭代所获取的的唯一性的数据,也将为该vuser后续的所有迭代重复使用。

四、事务

事务可以再录制过程中添加,也可以在录制后添加,添加事务是为了获取事务范围内操作脚本的执行时间。也可以用于通过录制过程中添加事务来判断操作对应的脚本。

开始事务:lr_start_transaction("事务名称");

结束事务:lr_end_transaction("事务名称",
LR_AUTO);

添加登陆事务实例:

lr_start_transaction("登陆");

web_submit_data("login;jsessionid=3F5B12DE3B0CA05A4503CFD38E8852BB",                  "Action=http://{url}:8080/cas/login;jsessionid={CorrelationParameter_1}?service=http%3A%2F%2F10.20.30.32%3A8080%2FSMP%2Fj_spring_cas_security_check",

"Method=POST",

"RecContentType=text/html",                  "Referer=http://{url}:8080/cas/login?service=http%3A%2F%2F10.20.30.32%3A8080%2FSMP%2Fj_spring_cas_security_check",

"Snapshot=t3.inf",

"Mode=HTML",

ITEMDATA,

"Name=username",
"Value=test", ENDITEM,

"Name=password",
"Value=test", ENDITEM,

"Name=lt",
"Value=LT-{CorrelationParameter_2}", ENDITEM,

"Name=execution",
"Value=e1s1", ENDITEM,

"Name=_eventId",
"Value=submit", ENDITEM,

EXTRARES,

"URL=../favicon.ico",
ENDITEM,

LAST);

lr_end_transaction("登陆", LR_AUTO);

五、集合

集合点是用于放在目标操作之前,用于使目标达到一定的用户数,同时执行目标操作,从而实现并发的目的,集合点函数:lr_rendezvous("test");

六、关联

关联是为了解决动态session的问题,录制的脚本需要经过回访后,CTRL+F8来扫描脚本中存在的关联。

关联函数:web_reg_save_param("参数名","LB=左边界‘,"RB=右边","Ord=All",LAST);

场景:当录制完脚本后,回访过程中,执行日志各项事务执行成功,但是程序结果没有达到预期效果,这时考虑程序中是否需要进行关联操作。

例:

web_reg_save_param(

"ParamName=CorrelationParameter_1",

"LB=hzcf.tokens.",

"RB=\"/>\r\n<input
type",

SEARCH_FILTERS,

"Scope=Body",

"RequestUrl=*/investConfirm*",

LAST);

web_submit_data("invest",

"Action=http://10.10.10.62:8080/hzcf-0.0.1/invest/finance/invest",

"Method=POST",

"RecContentType=application/json",

"Referer=http://10.10.10.62:8080/hzcf-0.0.1/invest/finance/investConfirm",

"Snapshot=t9.inf",

"Mode=HTML",

ITEMDATA,

"Name=finance_id",
"Value=24126474915151890", ENDITEM,

"Name=fprodId",
"Value=819441cf29ac45b6838f7c428c6ce38c", ENDITEM,

"Name=fprodName",
"Value=第2期", ENDITEM,

"Name=closeTime",
"Value=24", ENDITEM,

"Name=totalAmount",
"Value=200000000.00", ENDITEM,

"Name=investAmount",
"Value=100", ENDITEM,

"Name=repay_style",
"Value=2", ENDITEM,

"Name=yearRate",
"Value=12.00", ENDITEM,

"Name=payAccount",
"Value=PAY20150826000005", ENDITEM,

"Name=reinvestId",
"Value=LEND_013", ENDITEM,

"Name=chnId",
"Value=CH06", ENDITEM,

"Name=hzcf.token.name",
"Value=hzcf.tokens.{CorrelationParameter_1}",
ENDITEM,

"Name=payPasswd",
"Value=1", ENDITEM,

LAST);

七、常见问题

问题现象:录制过程中事件数为0。

解决方法:

1、录制过程中尽量使用IE或者火狐浏览器,将使用录制的浏览器设置成默认浏览器,且录制之前,先将浏览器关闭;

2、打开IE-工具-Internet选项-高级-启用第三方浏览器扩展:去掉勾选;系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的vugen.exe;

3、浏览器版本兼容性问题,更换浏览器版本;

4、打开IE浏览器,工具-管理加载项,将BHOManager
Class状态设置为启用。

loadrunner工具使用之脚本创建的更多相关文章

  1. 品味性能之道<九>:利用Loadrunner编写socket性能测试脚本简述

            一.概述         Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作.     二.socket概述     ...

  2. LoadRunner:VuGen开发脚本步骤(一)

    一.测试过程 1.规划测试:分析应用程序.定义测试目标.方案实施. 2.创建Vuser脚本. 3.创建方案:方案包括运行 Vuser 的计算机的列表.运行 Vuser 脚本的列表以及在方案执行期间运行 ...

  3. SVN管理工具Cornerstone之:创建分支、提交合并

      创建工程的分支: 步骤: 1.选择左下角仓库repositories中的工程名->选择trunk->点击Branch->在提示框里填写分支名称create, 2.在做上角work ...

  4. FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

    FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没 ...

  5. LoadRunner录制HTTPS协议脚本

    学习LoadRunner录制HTTPS协议脚本,其实是一个意外的收获.当我拿到要测试的URL时,我像以前的步骤一样录制脚本,但是录制结束后,发现并没有生成脚本,开始以为是LoadRunner的原因,我 ...

  6. 二、初步认识LoadRunner工具

    LoadRunner工具有三个组成分别是: Virtual User Generator:用户行为模拟:录制运行脚本. Controller:上面的录制一个用户操作,这个可以将其克隆成多个用户,模拟多 ...

  7. 『动善时』JMeter基础 — 46、使用Badboy工具录制JMeter脚本

    目录 1.使用Badboy录制JMeter脚本 2.使用Badboy参数化配置 3.解决"当前页面的脚本发生错误"提示框 4.总结 1.使用Badboy录制JMeter脚本 打开B ...

  8. LoadRunner编写socket性能测试脚本

    利用LoadRunner编写socket性能测试脚本 一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socke ...

  9. BlazeMeter发布chrome扩展插件,支持JMeter脚本创建

    BlazeMeter发布chrome扩展插件,支持JMeter脚本创建http://www.automationqa.com/forum.php?mod=viewthread&tid=3898 ...

随机推荐

  1. 深入学习golang(1)—数组与切片

    数据(array)与切片(slice) 数组声明: ArrayType   = "[" ArrayLength "]" ElementType . 例如: va ...

  2. ex26 纠正练习

    题目中给出的代码如下: def break_words(stuff): """This function will break up words for us." ...

  3. notifyDataSetInvalidated()跟notifyDataSetChanged()的区别

    public void notifyDataSetChanged(): 通过一个外部的方法控制,如果适配器的内容改变了,那么就会强制调用getView来刷新每个Item的内容.这个方法内部实现了在每个 ...

  4. OpenMP对于嵌套循环应该添加多少个parallel for 分类: OpenMP C/C++ Linux 2015-04-27 14:48 53人阅读 评论(0) 收藏

    一个原则是:应该尽量少的使用parallelfor, 因为parallel for也需要时间开销.即: (1)如果外层循环次数远远小于内层循环次数,内层循环较多时,将parallel for加在内层循 ...

  5. c++函数重载

    为方便使用,在一定范围内,c++可以定义多个功能形似的同名函数,但是这些函数的形参必须不同(类型.个数.顺序),这就是重载函数.重载函数常用来实现功能类似而所处理的数据类型不同的问题. 看下面的一个例 ...

  6. Python入门1

    简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.Python ...

  7. remote_addr和x_forwarded_for

    做网站时经常会用到remote_addr和x_forwarded_for这两个头信息来获取客户端的IP,然而当有反向代理或者CDN的情况下,这两个值就不够准确了,需要调整一些配置. 什么是remote ...

  8. putty连接ubuntu虚拟机缓慢问题的解决

    vmware安装系统使用了ubuntu,安装后每次用PUTTY登录发现都到等很久,经过上网搜索,发现是Ubuntu安全机制导致的连接缓慢问题,   解决方法如下;   1. sudo vim /etc ...

  9. Hadoop学习14--Hadoop之一点点理解yarn

    yarn是一个分布式的资源管理系统. 它诞生的原因是原来的MapReduce框架的一些不足: 1.JobTracker单点故障隐患 2.JobTracker承担的任务太多,维护Job状态,Job的ta ...

  10. 黄聪:MYSQL使服务器内存CPU占用过高问题的分析及解决方法

    方法一: 使用 show processlist 语句,查找负荷最重的 SQL 语句,优化该SQL,比如适当建立某字段的索引. 方法二: #查看慢SQL日志是否启用mysql> show var ...