LoadRunner脚本编写教程
LoadRunner创建测试脚本教程
LoadRunner创建测试脚本教程开发LoadRunner脚本需要通过图2-1所示的几个步骤。
在录制脚本时要遵循以下录制原则:1.提升脚本执行效率所录制的脚本内容要精练,而且是用户的真实操作,不可增加余外或重复性的操作,如此的脚本执行起来更能准确地模拟用户的真实行为,减少了执行时刻,执行结果更准确。
2.录制具有代表性的功能在一个软件中有专门多不同的功能,但要录制所有的功能几乎是不可能的,因此要选择常用的、使用频率较高的业务功能来进行测试。
3.选择具有阻碍的事务测试人员要对被测功能具有一定的认识和了解,选择一些关于整个测试过程中有阻碍的事务来测试,否则测试结果是无意义的。
当启动Visual User Generator后会显现选择脚本类型的对话框,在此对话框中,请选择我们常用的脚本类型,也确实是Web(HTTP/HTML)协议,这是最为常见的。
以下脚本介绍以此类型为例。
2.1.1录制一般脚本启动Visual User Generator,在弹出的对话框中选择需要新建的协议脚本,通过VuGen能够采纳单协议或多协议模式,进行脚本的录制。
选择单协议依旧多协议,按照测试程序的实际需要而定。
1.选择协议采纳单协议模式时,VuGen将只录制指定的协议;采纳多协议模式时,VuGen将录制多个协议中的操作。
下列协议支持多协议脚本:COM、FTP、IMAP、Oracle NCA、POP3、RealPlayer、Window Sockets(原始)、SMTP 和Web。
“双协议Web/Web Services”的引擎使用一种不同的机制,应视为单协议,不能与其他多协议类型结合使用。
各种Vuser类型之间的另一个区别是多操作支持功能。
大多数协议都可支持多个操作部分,如Oracle NCA、Web、RTE、General(C Vusers)、W AP、i-Mode 和V oiceXML等协议。
关于大多数Vuser类型,在每次录制时都会新建一个Vuser脚本,而不能在现有脚本中进行录制。
Loadrunnerl录制脚本和运行脚本详细过程
Laodruuner做网站压力测试录制脚本详细过程。
供各位新手学习使用,特别是想刚入门的新手。
这是我个人自己入门的体会,如有更好的资料的大侠,希望拿出来共同学习。
本人的是laodrunner8.0版本。
1、先安装laodrunner8.0.2、开始-》程序-》mercury loadrunner-》mercury loadrunner 进入到如下页面:3、选择laod testing—》create/edit scripts进入到new virtual user的页面(如果没有看到new virtual user的页面,也可以选择file—)new就可以弹出)如图页面4、在available protocols的选项中选中web(http/html),点击向右“”的前头,把web(http/html)添加到selected protocols的目录下,如下图所示5、点击“OK” 进入到如图的页面再根据下图做相应的选择如图所示:Application type 选择“intern application”;program to record默认为:microsoft internet explorer ;URL address 输入你要压力测试网址的网址;working directory输入保存脚本的路径(请记住你保存的路径,以便再次调用)6、点“OK”从LR登陆进入网站首页LR同时录制操作过程的脚本,如图:输入用户名和密码,进入OA(LR会记录用户操作的每一个步骤)如图所示:用户可以再做相关的操作,LR都会以脚本的形式记录下来。
如果要停止录制,点击如图按钮:录制过程完毕。
7、跳转到如图页面点击“△”符号(红色圈起来的),使录制的脚本运行起来,查看录制的脚本是否成功如results-test results页面:results-test results页面Failed为0;warnings为0说明脚本录制成功。
实战二:LoadRunner创建一个测试脚本
实战⼆:LoadRunner创建⼀个测试脚本问题⼀:执⾏脚本浏览器不能⾃动启动??? 原因:loadrunner11只⽀持IE9以下浏览器和⽕狐低版本浏览器 解决办法:1、IE浏览器取消勾选【启⽤第三⽅浏览器扩展】启动IE,从【⼯具】进⼊【Internet选项】,切到⾼级,去掉【启⽤第三⽅浏览器扩展(需要重启动)】的勾选,然后再次运⾏VuGen即可 2、将IE浏览器退回到低版本:如果你的环境是WIN7 64位+LR11的话,那么最⾼⽀持到IE9,超过了这个版本从控制⾯板--程序和功能--查看已安装的更新,找到IE⾼版本卸载,重启电脑更新后,使其退回到IE9就可以了 3、Loadrunner设置:启动Loadrunner11,点开CREATE打开窗⼝,选vuser菜单下的Run-time settings打开窗⼝,在browser----browser Emulation点击change,在弹出的提⽰框中选use browser后,Browser version选择8.0,platform选择Windows7后OK。
在CREATE窗⼝按键盘ctrl+F7在弹出的提⽰框中选择最后⼀项Correlation,将Enable correlation during recording 下⾯的勾全去掉,有需要的再勾。
4、数据执⾏保护设置:计算机——属性——⾼级系统设置——性能⾥的设置——数据执⾏保护——选择“为除下列选定程序之外的所有程序和服务启⽤”——添加IE浏览器((正常路径为C:\Program Files\Internet Explorer\iexplore.exe))——应⽤——确定。
注意事项:1、64位IE: C:\Program Files\Internet Explorer\iexplore.exe 32位IE: C:\Program Files (x86)\InternetExplorer\iexplore.exe 2、如果实在IE弹不出来,就⽤低版本Firefox。
loadrunner测试工具中的创建脚本
为了增加负载,首先你需要生成模拟用户操作的自动化脚本。
本课我们将进行下列话题:Ø虚拟用户发生器(VuGen)介绍;Ø如何开始记录用户的操作;ØVuGen窗口一览;Ø如何记录事务处理生成脚本;Ø如何查看脚本虚拟用户发生器简介(VuGen)在测试环境中,LoadRunner用虚拟用户或者Vusers代替真实用户在物理机器上操作。
虚拟用户模拟真实用户进行重复性或者可预见性的行为从而增加系统的负载。
LoadRunner虚拟用户生成器(VuGen)的工作原理是记录和回放。
当你在你的应用上进行事务处理操作时,VuGen记录你的动作并自动生成脚本,这些脚本时你进行负载测试的基础。
如何开始记录用户操作打开VuGen建立一个空白页,开始记录你的用户操作。
通过记录事件并手动增加修改来填加你的空白脚本。
在这部分,你将要开启VuGen建立一个空白脚本页。
1 打开Mercury LoadRunner选择 Start > Programs > Mercury LoadRunner > LoadRunner. Mercury LoadRunner 装载窗口会被打开。
单击Load Testing 表单2.打开VuGen单击 Create/Edit Scripts,开启VuGen的欢迎页面。
注:如果What’s New in VuGen窗口被打开了,在进行下一步操作时你可以关掉或者将该窗口最小化。
在左侧的面板中,单击 New Single Protocol Script,VuGen打开一个新的单独的脚本协议。
协议是你的客户用来与后台系统交互的语言, Mercury Tours是一个网站应用程序,因而你要建立一个网站的虚拟用户脚本。
注意高级用户可以利用多协议脚本在单独脚本会话期间记录几个协议。
本教程中,你只能创建一个Web类型的脚本,录制其他类型的使用单个或多个协议的脚本的过程将和你下边用到的记录Web脚本的步骤相似。
Loadrunner学习---脚本编写系列
Loadrunner学习---脚本编写(1)中午看了两集《奋斗》发现越看越想看,但是想到好不容易没上班,在家还是赶紧学习下LR的知识吧。
下面这个网页的文章原来也是看过的,但发现没几天就忘记了,为了加深学习的印象,特把它翻译出来。
/1lrscrīpt.htm上是关于脚本编写的介绍.下面是第一部分,脚本的开发.VuGen脚本文件的开发过程1。
定义测试项目的目标,环境,脚本,测试数据,硬件等。
脚本应该符合编码规范或编码习惯。
2。
创建一个版本文件夹来保存被测应用程序相关的各种不同资源,例如截获的.png/.gif 图形文件,录制过程保存的html文件,录制中的所有html源文件和VuGen的录制日志。
3。
列出(在表里)每一个手动操作业务过程需要的实际步骤1)截取每一个屏幕图像(screen image )。
2)为每一个屏幕(screen)分配一个唯一的事务名称。
3)为处理的每一个步骤使用的技术组件(URL或者方法和函数)做注释。
4。
创建一个版本文件夹。
注:我不喜欢使用默认位置,我喜欢把所有脚本相关的文件放到一个相同的文件夹中。
不幸的是,这意味着如果我在不同的测试间互相交换录制,那我每次都得记住修改默认的设置。
注:当录制一个新的脚本时,我喜欢选择多协议而不是单个协议。
5。
根据你的业务处理列表上指定的用户使用步骤和screen的顺序来使用VuGen录制程序,产生一系列脚本代码。
在“开始录制”对话框中* 使用COM/DCOM 协议时,选择“Win32应用程序“* 使用Web(HTTP/HTML)时,选择“Internet Application“6。
根据改进脚本方法和脚本语言规则来修改脚本。
改进脚本的方法:1)为每一个GUI的screen添加事务语句来获得事务时间。
2)添加显示数据来帮助调试。
3)添加验证点来验证是否期望的文本或者图片在每个脚本执行后显示。
4)通过插入新参数和动态获得整个文件的方式对硬编码的URL,用户id,用户密码和其他的变量数据进行参数化。
LoadRunner脚本编写教程
LoadRunner脚本编写教程LoadRunner脚本编写教程LoadRunner生成脚本的方式有两种,一种是自己编写手动添加或嵌入源代码;一种是通过LoadRunner提供的录制功能,运行程序自动录制生成脚本。
这两种方式各有利弊,但首选还是录制生成脚本,因为它简单且智能化,对于测试初学者来说更加容易操作。
但是仅靠着自动录制脚本,可能无法满足用户的复杂要求,这就需要手工添加函数,进行必要的手动关联或在函数中进行参数化来配合,增强脚本的实用性。
手写添加增强脚本的独特之处在于:1.可读性好,流程清晰,检查点截取含义明确。
业务级的代码读起来总比协议级代码更容易让人理解,也更容易维护,而且必要时可建立一个脚本库。
而录制生成的代码大多没有维护的价值,现炒现卖。
2.手写脚本比录制的脚本更能真实地模拟应用运行。
因为录制的脚本是截获了网络包,生成的协议级的代码,而略掉了客户端的处理逻辑。
3.手写脚本比录制脚本更能提高测试人员的技术水平。
LoadRunner提供了Java user、VB user、C user等语言类型的脚本,允许用户根据不同的测试要求自定义开发各种语言类型的测试脚本。
增强脚本的好坏关系到这个脚本是否能在实际运行环境中更真实地进行模拟操作。
至于具体使用哪种方式来生成脚本,还应该以脚本模拟程序的真实有效为准。
例如,有些程序只需要执行迭代多次操作,没有特殊要求,选择自动生成的脚本就可以了;有些程序需要加入参数化方可满足用户的要求,此时应该使用增强的手工脚本。
再就是结合项目进度、开发难易程度等因素综合考虑。
3.1 插入检查点在进行Web应用的压力测试时,经常会有页面间数据传递的操作,如果做性能测试时传递次数逐渐增多,页面间就会发生传递混乱的情况,或者客户端与服务端数据传输中断或不正确的现象。
为了解决这些问题,LoadRunner提供了在脚本中插入检查点的方法,就是检查Web服务器返回的网页是否正确。
loadrunner脚本录制及强化及回放
脚本录制
选择脚本协议类型:由于我们测的是WEB应用,所以选择 选择脚本协议类型:由于我们测的是WEB应用,所以选择 Web(http/html)协议,单击创建; Web(http/html)协议,单击创建;
进入Start Recording对话框: 进入Start Recording对话框: Application type为应用程序类型(此处不更改) type为应用程序类型(此处不更改) Program to record为(Sorry,I don`t know!)(此处不更改) record为(Sorry,I know!)(此处不更改) URL address为被测程序的 URL address为被测程序的 Record into Action 将动作执行添加到Action中 (此处不更改)重复测试脚本 将动作执行添加到Action中 的时候Action可被重复执行,可以添加集合点 的时候Action可被重复执行,可以添加集合点,而vuser_inti和vuser_end都只能 集合点,而vuser_inti和vuser_end都只能 被执行一次,不能添加集合点; 点击options 点击options 集合点: 集合点:设置多个用户到达某个用户 数量点集合,同时触发一个事务, 数量点集合,同时触发一个事务,以达 到模拟真实环境下同时多个用户操作, 到模拟真实环境下同时多个用户操作, 同时模拟负载, 同时模拟负载,实现性能测试的最终目 LR_rendezvous( 集合点名称” 的 LR_rendezvous(“集合点名称”) ;
LoadRunner使用手册范本
LoadRunner 使用手册创建脚本1.打开“Mercury LoadRunner”窗口。
选择“开始” > “程序” > “Mercury LoadRunner” > “LoadRunner”,将打开“Mercury LoadRunner Launcher”窗口2.打开VuGen。
在 Launcher 窗口中,单击“负载测试”选项卡,单击“创建/ 编辑脚本”。
将打开 VuGen 的开始页。
3.选择协议。
在 VuGen 开始页的“脚本”选项卡中,单击“新建 Vuser 脚本”,将打开“新建虚拟用户”对话框,其中显示用于新建单协议脚本的选项。
确保“类别”类型为“所有协议”。
VuGen 将显示所有可用于单协议脚本的协议列表。
向下滚动该列表,选择“Web (HTTP/HTML)”并单击“确定”创建一个空白 Web 脚本。
4.向导模式。
打开 VuGen 的向导时将出现空白脚本,并且该向导的左侧将显示任务窗格。
(如果任务窗格没有显示,请单击工具栏上的“任务”按钮)VuGen 向导将指示您逐步创建脚本并根据所需的测试环境编辑此脚本。
任务窗格列出了脚本创建过程中的每个步骤或任务。
在您执行每个步骤时,VuGen 将在该窗口的主区域中显示详细的说明和规则。
5.录制脚本。
在任务窗格中,单击步骤 1 中的“录制应用程序”,单击说明窗格底部的“开始录制”。
也可以选择“Vuser” > “开始录制”或单击页面顶部工具栏中的“开始录制”按钮将打开“开始录制”对话框在“URL”地址框中,键入要录制的页面地址,在“录制到操作”框中,选择“操作”。
单击“确定”,将打开浮动录制工具栏并开始录制。
在浮动工具栏上单击“停止”停止录制过程。
生成 Vuser 脚本时,“代码生成”弹出窗口将打开。
然后, VuGen 向导将自动继续任务窗格中的下一步,并显示录制概要。
录制概要包括协议信息和会话执行期间创建的操作列表。
对于录制期间执行的每个步骤, VuGen 都生成一个快照(即录制期间窗口的图片)。
LoadRunner脚本编写
LoadRunner脚本编写之一对于编写loadrunner脚本的态度现在有一辆自行车放在你的面前,你为显示自己体力很好,每天走路去上班。
我骑车只要半小时,而你走路却要2小时,我们的目的是一样的,你是为了让人说你牛呢,还是让人说你傻呢?当然自行车不是万能的,比如,上班的地点在山上,自行车跟本上不去,自然走路就是唯一的选择了。
所以,对于loadrunner脚本,能录制的部分就录制改,不能录制的就手写,但前提是我们要会写脚本。
认识loadrunner脚本Loadrunner自带了一个小飞机订票系统我们先启动?Start?Web?server?服务,如果启动成功,桌面右下角会有一个绿色的X?,然后打开浏览器访问?下面是我们loadrunner录制一个登录过程。
Action(){web_url("WebTours",,"Resource=0","RecContentType=text/html","Referer=","Snapshot=t1.inf","Mode=HTML",LAST);lr_rendezvous("集合点");lr_start_transaction("登陆时间");web_submit_form("login.pl","Snapshot=t2.inf",ITEMDATA,"Name=username", "Value=test1", ENDITEM,"Name=password", "Value=123456", ENDITEM,"Name=login.x", "Value=59", ENDITEM,"Name=login.y", "Value=5", ENDITEM,LAST);lr_end_sub_transaction("登陆时间",LR_ABORT);return0;}上面的代码中有大括号“{}”,返回函数“?return?”,如果你有编程基础的不会说对于上面的代码一点都看不懂。
LoadRunner编写Socket协议脚本方法
LoadRunner编写Socket协议脚本⽅法转载⾃:本⽂主要介绍使⽤LoadRunner⼿⼯编写Windows Socket协议测试脚本的⽅法。
通过LoadRunner编写Windows Socket协议测试脚本,总体说来,⽐较简单。
就像把⼤象放进冰箱⼀样,总共分三步:第⼀步:把冰箱门打开//建⽴到服务端的连接rc = lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=128.64.64.23:8988", LrsLastArg);if (rc==0)lr_output_message("Socket was successfully created ");elselr_output_message("An error occurred while creating the socket, Error Code: %d", rc);第⼆步:把⼤象装进去lrs_send("socket0", "buf0", LrsLastArg); //往"socket0"发送"buf0"中的数据lrs_receive("socket0", "buf1", LrsLastArg);//将"socke0"中返回的数据存放到"buf1"中第三步:把冰箱门带上//关闭连接lrs_close_socket("socket0");整个脚本关键是在第⼆步,要把这么⼀头⼤象装到冰箱⾥可不是件容易的事情,我们要对传送的数据做⼀些处理才⾏。
LR会把你发送的数据包内容写到data.ws这个⽂件中,那么我们在此也同样应该把数据写到data.ws中去。
loadrunner之编写socket脚本
loadrunner之编写socket脚本要进行socket协议的操作,就必须先进行脚本的编写,socket脚本主要有四部分组成:创建socket连接在操作数据之前必须先与服务器建立起连接,可以使用类似于下面的方法:lrs_create_socket("socket1","TCP", "RemoteHost=192.1.3.22:8080", LrsLastArg);发送数据连接上服务器之后,就可以进行发送数据了,发送数据的操作如下:lrs_send("socket1", "buf0", LrsLastArg);接收数据在一般情况下,发送数据后都会返回一个数据,接受数据的方法如下:lrs_receive("socket1", "buf1", LrsLastArg);关闭socket连接凡事有始有终,事情结束还得关闭连接,方法如下:lrs_close_socket("socke1");大家可能注意到发送和接收的方法里有“buf0,buf1“,这些是发送和接收的数据包,这些数据包保存在data.ws文件中,格式如下:———————————————————–;WSRData 2 1send buf0 38"$<M><C>19000;4;</C></M>^""\x00"recv buf1 94"$<M><C>19000;0;192.1.3.22;8080;20060929102987be89581b94424af8d55378a421c""dfc</C><D></D></M>^""\x00"-1send或recv表示数据的方向,buf0表示数据包的描述,与脚本中的内容对应,38表示发送数据的长度,94表示接收数据的长度,另外接收数据的长度需要正确,因为接收数据时,数据的长度会进行校验,在错误的情况下,会影响接收时间,导致transaction时间错误.buf数据可以接受变量,当返回数据变化时,可以使用变量的方式解决。
LoadRunner11教程完整版
LoadRunner11教程完整版第一章 Loadrunner11简介随着软件开发技术不断发展和日益成熟,现代应用程序也越来越复杂。
应用程序可以利用数十个甚至数百个组件完成以前用纸或人工完成的工作。
在业务处理过程中,应用程序复杂度与潜在故障点数目之间有直接的关联。
这使得找出问题根本原因变得越来越困难。
软件惊人的变化速度和激增的复杂性为软件开发过程带来了巨大的风险。
严格的性能测试是量化和减少这种风险最常见的策略。
使用HP LoadRunner 进行自动化负载测试是应用程序部署过程中一个非常重要的环。
1.1为什么要实现性能自动化测试自动化性能测试是利用产品、人员和流程来降低应用程序、升级程序或补丁程序部署风险的一种手段。
自动化性能测试的核心是向预部署系统施加工作负载,同时评估系统性能和最终用户体验。
一次组织合理的性能测试可以让用户清楚以下几点:应用程序对目标用户的响应是否足够迅速?应用程序是否能够游刃有余地处理预期用户负载?应用程序是否能够处理业务所需的事务数?在预期和非预期用户负载下应用程序是否稳定?是否能够确保用户在使用此应用程序时感到满意?通过回答这些问题,自动化性能测试可以量化业务状况的更改所带来的影响。
这反过来也可以让用户清楚部署此应用程序的风险。
有效的自动化性能测试可帮助您做出更加明智的发行决定,防止发行的应用程序带来系统停机和可用性问题。
1.2 LoadRunner 包含哪些组件LoadRunner 包含以下组件:Virtual User Generator 录制最终用户业务流程并创建自动化性能测试脚本,即 Vuser 脚本。
Controller 组织、驱动、管理并监控负载测试。
Load Generator 通过运行 Vuser 产生负载。
Analysis 用于查看、剖析和比较性能结果。
Launcher 使您可以从单个访问点访问所有LoadRunner 组件。
1.3了解LoadRunner 术语场景场景文件根据性能要求定义每次测试期间发生的事件。
LoadRunner脚本编程(例子)
LoadRunner脚本编程(例子)今天想统计一下我的BLOG的访问情况,想知道那些文章被经常阅读。
在BLOG的后台没找到相关功能,既然没有那就自已动手吧,要想统计就需要数据,数据只能从网页里来。
从网页中取数据一个是手工取,一个是自动来取。
手工取没啥兴趣,那就自动取吧,网页的格式都是有一定规律的,自动取会很方便。
先打开一页,看看源代码需要取数据的点有那些特征。
打开页面后找到了需要的特征,在每个标题前有一段HTML代码“<img src=images/face/1.gif >” 在每篇文章的点击次数有特征标示“阅读全文”,有了这两个特征就可以提取需要的数据了。
下面是具体的LoadRunner脚本代码#include "as_web.h"int i,j; //定义变量,循环次数char URL1[512],COUNT[512],Name[512]; //定义变量,存储参数化名称Action1(){for(i=1;i<=10;i++)//当前BLOG只有10页所以循环次数为10 {web_reg_save_param("Count","LB=阅读全文(","RB=)</a>","ORD=all",LAST); //设定点击数参数化变量web_reg_save_param("Name","LB=<imgsrc=images/face/1.gif >","RB=</a>","ORD=all",LAST);//设定标题参数化变量sprintf(URL1,"URL=/blog/blog.asp?name=alanstone&page =%d",i);//准备需要访问的URLweb_url("Link",URL1,LAST); //访问URLfor(j=1;j<=atoi(lr_eval_string("{Count_count}"));j++) //按得到的参数化变量数量进行循环{sprintf(COUNT,"{Count_%d}",j); //准备点击次数参数化变量sprintf(Name,"{Name_%d}",j); //准备标题参数化变量lr_message("%s %s",lr_eval_string(Name),lr_eval_string(CO UNT));//打印标题和点击次数}}return 0;}该脚本唯一有点难度的是需要一点C语言的基础,同时对于web_reg_save_param参数有一些了解,具体web_reg_save_param 参数使用方法可以查看LR的联机文档。
LoadRunner脚本编写
LoadRunner脚本编写引⾔:针对接⼝进⾏脚本编写,解决录制脚本的局限。
第⼀步:打开LR,选择协议Web Services。
第⼆步:在action⾥进⾏脚本编写。
登陆:1int HttpRetCode_login,HttpRetCode_add;//定义两个变量,必须放在最前⾯。
23//*******************⽤例1*******************45 web_reg_save_param("result_login","LB=","RB=","Search=headers",LAST); //从响应数据获取指定内容67//post请求使⽤web_submit_data8 web_submit_data("web_submit_data",9"Action=http://*******/login",10"Method=POST",11"TargetFrame=",12"Referer=",13"Mode=HTTP",14 ITEMDATA,15"Name=username", "Value=**", ENDITEM,16"Name=password", "Value=****", ENDITEM,17 LAST);1819//字符串编码转换20//lr_convert_string_encoding(lr_eval_string("{result_login}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"resultutf8");21 lr_convert_string_encoding(lr_eval_string("{result_login}"),"utf-8",NULL,"resultutf8");2223//获取参数resultutf8的值,并打印出来。
loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
loadrunner简单使⽤——HTTP,WebService,Socket压⼒测试脚本编写使⽤loadrunner进⾏压⼒测试主要分两步,第⼀步是编写脚本(⽐较重点),第⼆步执⾏测试(配置都是在界⾯上点点就⾏了,当然我只的是⽐较简单的,能满⾜⽇常需要的),第三步分析结果(这⼀步⽐较⾼深,但是对于我来说能看懂简单的性能指标就OK了)。
所以这⾥就说⼀下脚本的编写,给未来再⽤到做参考。
Action(){int status;lr_start_transaction("send");web_reg_find("Search=Body",//这⾥说明在Body的范围内查找"SaveCount=ret_Count",//这⾥表⽰把返回值的个数放在变量ret_Count⾥"Text=mobile",//这⾥表⽰查找的内容是“mobile”LAST);status=web_url("Baidu_Search","URL= /s?wd=mobile","TargetFrame=Main","Resource=0","RecContentType=text/html","Mode=http",LAST );lr_output_message("Request Status:%d",status);lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));if (atoi(lr_eval_string("{ret_Count}")) > 0){//这⾥判断检查到的个数lr_output_message("Rec successful.");lr_end_transaction("send", LR_PASS);}else{lr_error_message("Rec failed");lr_end_transaction("send", LR_FAIL);}return0;}2.HTTP POST请求这个是在我们项⽬中⽤到的,发送POST请求,进⾏⾃然语⾔识别的,脚本如下:Action(){int status;lr_start_transaction("send");web_reg_find("Search=Body",//这⾥说明在Body的范围内查找"SaveCount=ret_Count",//这⾥表⽰把返回值的个数放在变量ret_Count⾥"Text=t",//这⾥表⽰查找的内容是“t”LAST);status=web_submit_data("trs","Action=http://192.168.77.185:9002/recognizeText",//地址"Method=POST",//POST请求"RecContentType=text/html","Mode=HTML",ITEMDATA,"Name=usercontent","Value=gprs",ENDITEM,//这⼀⾏表⽰传⼊⼀个参数usercontent,值为gprs"Name=Accept","Value=text/plain",ENDITEM,LAST);lr_output_message("Request Status:%d",status);if (atoi(lr_eval_string("{ret_Count}")) > 0){//这⾥判断检查到的个数lr_output_message("Rec successful.");lr_end_transaction("send", LR_PASS);}else{lr_error_message("Rec failed");lr_end_transaction("send", LR_FAIL);}return0;}3.WebService请求webservice请求的脚本建议通过可视化的⽅式添加1)引⼊webservice,注意wsdl后缀2)给⼊参填值3)给返回值指定存储到的变量中Action(){int status;lr_start_transaction("send");status=web_service_call( "StepName=getSupportCity_102","SOAPMethod=WeatherWebService|WeatherWebServiceSoap|getSupportCity",//这⾥是我已经引⽤了webservice的名称及调⽤⽅法"ResponseParam=response","Service=WeatherWebService","ExpectedResponse=SoapResult","Snapshot=t1353067092.inf",BEGIN_ARGUMENTS,"byProvinceName=安徽",//这⾥是⼊参,参数名称:byProvinceName,值:安徽。
loadrunner操作手册
LoadRunner操作手册1、LoadRunner操作,我们主要使用三大部分:Virtual User Generator、Controller、Analysis○1Virtual User Generator:录制脚本○2Controller:设置运行场景○3Analysis:分析2、首先我们打开Virtual User Generator,如图所示:打开后的界面:然后点击菜单file->new 新建一个脚本,打开后界面如下:由于我们B/S大部分使用的协议为WEB(HTTP/HTML)(如果不是可以选择其他协议),所以我们选择协议为WEB(HTTP/HTML)然后单击Create,接下来打开下图界面:在URL中输入你需要测试系统地址,Record into Action中有三个Action:Vuser_init:用来初始化的,比如登陆该界面Action:用来记录你所测试业务的,比如输入用户名和密码登陆Vuser_end:比如退出(注销)Application type 默认即可Program to record 是浏览器的位置一般默认即可Record the application startup 这项要打勾设置后单击OK按钮,开始录制,录制结束后保存。
关于在脚本中添加事务和集合点的设置。
1.事务添加方法,如下图:开始事务时间要在脚本内容前面,点击开始事务按钮,如下图打红勾:打开后设置事务名字(就是要测试的内容名字,比如:首页登录),如下图:然后点击ok,如下图:然后设置事务结束时间,点击打红勾按钮,如下图:打开后如下图:这个直接点ok就行,注意事务结束时间在脚本内容后面,如下图:2.集合点设置集合点要设在事务开始时间前面。
打开集合点设置按钮,如下图所示:名字按自己意思输入即可,然后点击ok。
添加好了如下图:此图就是集合点和事务的设置好了的图,位置要按这样设置。
3、然后打开Controller,如图所示:这样是在录好了脚本后直接在菜单tools打开当前脚本的controller,来设计场景。
Loadrunner脚本开发说明
1脚本设计1.1脚本分割1.1.1原则VuGen中的脚本分为三部分:vuser_init、vuser_end和Action。
其中vuser_init和vuser_end都只能存在一个,不能再分割,而Action还可以分成无数多个部分(通过点击New 按钮,新建ActionXXX)。
在录制需要登陆的系统时,我们往往把登陆部分放到vuser_init中,把登陆后的操作部分放到Action中,把注销关闭退出部分放到vuser_end中。
但在部分情况下,登陆和退出操作也要放到Action中,具体条件如下:1)如果需要在登陆操作设集合点时(原因:vuser_init中不能添加集合点);2)需要重复执行登陆退出操作时(原因:vuser_init和vuser_end中的内容只会执行一次,不能重复);1.1.2Aciton的分割Action的分割跟实际业务联系比较紧密,但主要遵循几点原则:1)进入菜单部分,单独为一个action;2)一个功能模块默认为一个action(在特殊情况下,我们也可能将同一个模块功能分成多个action)举例:例如在收购主机开票界面,我们录入一个烟农后,需要对该烟农进行多次过磅(每次过磅客户端都会提交一次请求,第一称的处理逻辑与第二称的处理逻辑不一样),此时,过磅信息这块我们会另外新增一个独立的action。
第一次录入等级第二次或者第三次录入等级1.2脚本内容设计1.2.1事务为了衡量服务器的性能,我们需要定义事务。
比如:我们在脚本中有一个数据查询的操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚本时,LR运行到该事务的开始点时,LR就会开始计时,直到运行到该事务的结束点,计时结束。
这个事务的运行时间在结果中会有反映。
插入事务操作可以在录制过程中进行,也可以在录制结束后进行。
事务的名称:事务的名称最后有意义,能够清楚说明该事务完成的动作。
(一般情况下,事务的命名规范为:事务_模块中文简称_功能点中文简称)出现以下对话框操作结束时,插入事务结束点脚本中事务的代码如下:1.2.2注释注释的作用主要是用来辨识一个Action中的脚本代码属于那些操作,那些信息栏(一个Action往往代表一个模块,模块中又有多个录入信息栏,多次操作相同功能,在不添加事务的情况下,如何明确录入的代码属于哪个信息栏,第几次操作,这个时候,注释就非常必要)。
自编Loadrunner使用手册
一. Loadrunner简介概要介绍LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。
通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。
这些都不可避免地导致公司收益的损失。
Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。
基本步骤使用LoadRunner 完成测试一般分为四个步骤:1)Vitrual User Generator 创建脚本创建脚本,选择协议录制脚本编辑脚本检查修改脚本是否有误2)中央控制器(Controller)来调度虚拟用户创建Scenario,选择脚本设置机器虚拟用户数设置Schedule如果模拟多机测试,设置Ip Spoofer3)运行脚本分析scenario4)分析测试结果安装LoadRunner 中文版LoadRunner 分为Windows 版本和Unix 版本。
如果我们的所有测试环境基于Windows 平台,那么我们只要安装Windows 版本即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LoadRunner生成脚本的方式有两种,一种是自己编写手动添加或嵌入源代码;一种是通过LoadRunner提供的录制功能,运行程序自动录制生成脚本。
这两种方式各有利弊,但首选还是录制生成脚本,因为它简单且智能化,对于测试初学者来说更加容易操作。
但是仅靠着自动录制脚本,可能无法满足用户的复杂要求,这就需要手工添加函数,进行必要的手动关联或在函数中进行参数化来配合,增强脚本的实用性。
手写添加增强脚本的独特之处在于:
1.可读性好,流程清晰,检查点截取含义明确。
业务级的代码读起来总比协议级代码更容易让人理解,也更容易维护,而且必要时可建立一个脚本库。
而录制生成的代码大多没有维护的价值,现炒现卖。
2.手写脚本比录制的脚本更能真实地模拟应用运行。
因为录制的脚本是截获了网络包,生成的协议级的代码,而略掉了客户端的处理逻辑。
3.手写脚本比录制脚本更能提高测试人员的技术水平。
LoadRunner提供了Java user、VB user、C user等语言类型的脚本,允许用户根据不同的测试要求自定义开发各种语言类型的测试脚本。
增强脚本的好坏关系到这个脚本是否能在实际运行环境中更真实地进行模
拟操作。
至于具体使用哪种方式来生成脚本,还应该以脚本模拟程序的真实有效为准。
例如,有些程序只需要执行迭代多次操作,没有特殊要求,选择自动生成的脚本就可以了;有些程序需要加入参数化方可满足用户的要求,此时应该使用增强的手工脚本。
再就是结合项目进度、开发难易程度等因素综合考虑。
3.1 插入检查点
在进行Web应用的压力测试时,经常会有页面间数据传递的操作,如果做性能测试时传递次数逐渐增多,页面间就会发生传递混乱的情况,或者客户端与服务端数据传输中断或不正确的现象。
为了解决这些问题,LoadRunner提供了在脚本中插入检查点的方法,就是检查Web服务器返回的网页是否正确。
在每次脚本运行到此检查点时,自动检查该处的网页是否正确,省去执行结束后人工检查的步骤和时间,进而加快了测试进度。
插入检查点的方法,在工作原理上说就是在VuGen中插入“Text/Image”检查点。
这些检查点验证网页上是否存在指定的Text或者Image,还可以测试在比较大的压力测试环境中,被测的网站功能是否保持正确。
VuGen在进行Web测试时,有“Tree View”和“Script View”两种视图方式。
前面我们见到的一直都是“Script View”,但在插入“Text/Image”检查点时,使用“Tree View”(树视图)视图方式会比较方便。
这种视图之间切换,可以通过菜单或者工具栏的方式进行,如图3-1所示。
图3-1 切换至“Tree View”视图
现在切换到TreeView,如图3-2所示。
图3-2 TreeView
插入检查点的步骤比较简单,既可以在录制过程中添加“Text/Image”检查点,也可以在录制完成后进行,推荐使用录制过程中添加“Text/Image”检查点的方式。
首先在树形菜单中选择需要插入检查点的项目,单击鼠标右键,选择将检查点插入进去。
如果在该操作执行前检查,则选择“Insert Before”,在该操作执行后检查则选择“Insert After”,如图3-3所示。
图3-3 插入检查点
然后系统将弹出如图3-4所示的对话框,选择“Text Check”
(这里以Text检查点为例说明)。
单击“OK”按钮后,会出现“Text Check Properties”对话框,如图3-5所示。
图3-4 选择检查点类型
图3-5 检查点的属性配置
然后切换到“General”选项卡页上(如图3-6所示),在“Step Name”的文本框中输入该操作的步骤名称(该名称应该尽量能反映该操作要搜索的对象)。
图3-6 输入检查点的名称
单击“确定”后,即可完成添加“Text检查点”的任务。
添加“Image”检查点的操作步骤和“Text”检查点基本相同,在此仅仅对“Image Check Properties”对话框与“Text Check Properties”的不同之处进行说明,其他的项目和“Text”检查点的方法类似,可以参考前面的内容,不再一一进行介绍。
需要在“Image Check Properties”对话框中输入图片的提示信息和相对
路径,如图3-7所示。
图3-7 Image检查点的属性配置
当然VuGen还允许插入其他类型的检查点函数,比如Web_reg_find、
Web_global_verification等。
而且也可以对搜索Text/Image值的参数化,这里就不再一一说明。
如果Web窗体中包含有Java Script脚本,那么在Tree View中显示可能会有问题,要解决这个问题,可以在“General”选项中进行适当设置。
单击“Tools”菜单选择“General Options”,如图3-8所示。
进入图3-9所示的设置窗口,切换到“Correlation”选项卡上,选中“Enable Scripting and Java applets on Snapshots viewer”的复选框即可。
单击“OK”后,设置完毕。
图3-8
选择“General Options”
图3-9 “General Options”设置。