loadrunner测试脚本
1. 如何用loadrunner编写java vuser脚本
如何使用LoadRunner开发JAVA Vuser
众所周知,Java语言是一门非常适合网络开发的语言,用 Java语言进行性能测试脚本开发将会大大提高测试开发效率。LoadRunner中提供了对Java虚拟用户的支持。Java虚拟用户依托于JDK,这大大扩充了LoadRunner的脚本开发功能。测试人员既可以用Java虚拟用户来测试基于Java的应用系统的性能,又可以使用Java语言的强大开发脚本功能来测试其他平台的系统性能。
认识Java虚拟用户
Java虚拟用户协议
Java虚拟用户脚本主要有Java Vuser、Corba-Java、RMI-Java、EJB等类型。这些类型的虚拟用户脚本均可以用Java语言来手工编写。下面将对各类Java虚拟用户简单地进行介绍。
Java Vuser
Java Vuser是自定义的Java虚拟用户脚本,脚本中可以使用标准的Java语言。这种虚拟用户不可以录制,只能采用纯手工编写,其适用范围和C Vuser一样,非常广泛。
Java Vuser的开发方法。
Corba-Java
Corba-Java类型的虚拟用户主要用来测试用Java编写的、使用Corba应用程序或小程序的性能,用户可以先运行VuGen录制的脚本,然后使用标准的Java库函数以及LoadRunner特有的Java方法来增强该脚本。
RMI-Java
RMI-Java 虚拟用户适用于测试RMI(远程方法调用)Java应用程序或小程序。选择RMI-Java 用户进行录制,VuGen可以创建对应的Java脚本。完成录制后,可以使用JDK或自定义类,通过标准的Java代码来增强或修改脚本,还可以通过特定于LoadRunner的Java方法增强该脚本。
EJB
EJB虚拟用户专门用于测试Enterprise Java Beans对象。采用EJB协议,VuGen会自动创建脚本以测试EJB功能,无需录制或编程,这和标准的Java Vuser明显不同。
在使用EJB协议类型的虚拟用户生成脚本前,需要指定 JNDI属性和关于应用程序服务器的其他信息。LoadRunner的EJB检测器首先扫描应用程序服务器并确定哪些EJB可用;接着选择要测试的 EJB,LoadRunner将生成要测试每个EJB方法的脚本,并为每个方法创建事务,便于度量其性能并找出问题。
需要注意的是,创建EJB虚拟用户测试脚本必须在应用程序服务器主机上安装LoadRunner EJB检测器,而且检测器必须处于活动状态。EJB检测器是一个独立的代理程序,必须将其安装在要扫描查找EJB的每一台计算机上。安装EJB检测器前,计算机上还需要安装有效的JDK环境。
本书中将以Java Vuser为例来讲解Java虚拟用户的开发和使用方法。Corba-Java、RMI-Java、EJB、Jacada Vuser等类型的虚拟用户使用方法可以参考LoadRunner的联机帮助手册,但是其手工脚本的开发方法与Java Vuser是一样的。
在“新建虚拟用户”对话框中的“自定义”或“全部协议”类别下选择“Java Vuser”即可创建空的Java Vuser脚本,如图7-1所示。
在自动生成的脚本中,vuser_init、 vuser_end部分没有任何内容,Actions部分生成的脚本如图7-2所示。对于Java类型的虚拟用户,可以编辑Actions类,而 init、end部分则不可以进行编辑。在Actions类中,有三个方法init、action和end,通常在init方法中编写初始化代码、在 action方法中编写业务流程、在end方法中编写诸如释放资源之类的代码。
Java Vuser脚本中可以放置任何标准Java代码,这也是Java虚拟用户的魅力所在。
Java虚拟用户适用范围
LoadRunner完全支持C语言,原则上可以用C语言实现任何想要录制的功能。但是C语言的特点决定了这样做是不现实的:一是性能测试脚本开发成本非常高;二是很多企业的测试人员开发基础不好。因此,性能测试开发多选用C++、C#、Java等面向对象语言——因为这类语言既有成熟的集成开发工具,又有庞大的类库来支撑,测试脚本开发速度会更快。下一章将重点介绍如何用.NET来开发性能测试脚本。
Java虚拟用户适用范围非常广,归纳起来主要有两大类:一类是不太适合录制的业务功能点的性能测试,例如网页上Http文件的下载过程、视频播放等;另一类是基于Java语言开发的应用系统的性能测试,这类应用更适合采用Java虚拟用户进行测试。
用Java Vuser实现无法录制的测试需求
这类测试需求往往关注于对服务器产生的压力,重点测试在一定压力下服务器的负载情况,为评估、部署、调优系统提供参考。在这类测试工作中,Java的作用仅是一门语言,用于辅助测试人员完成测试程序的开发。
在性能测试工作中,不能录制的测试点很多,主要有以下几类:
含有控件的Web应用
在Web应用中,很多包含一些插件的浏览器应用经常不能录制。这类应用往往涉及很多协议,因此录制起来不是特别方便。
对于这类应用,可以用Java语言调用其功能来完成用户行为的模拟。
一些和媒体播放、文件下载等相关的应用
媒体播放或文件下载等过程的录制往往不容易控制,如果是应用基于P2P的协议,则会更加复杂。因此,这类测试只能由测试人员开发虚拟用户脚本来完成。
用Java Vuser测试基于Java语言的应用系统性能
相比前面,基于Java语言开发的应用系统,在性能测试中采用Java虚拟用户更显得“门当户对”。这类虚拟用户主要应用在下面两类测试中:
核心算法或业务的执行效率
对银行、电信等大型的基于J2EE的架构应用系统中,开发阶段的性能测试是必不可少的。为了降低后期遇到性能问题的风险,往往在开发阶段进行一些核心业务的性能测试。这些核心业务或要求较高的执行效率,或者要求支持较多用户的并发。因此,可以利用Java Vuser来测试这些业务的执行效率。
Java应用中不能录制的业务模块
很多时候,一些J2EE架构的业务系统用 LoadRunner录制起来不是特别方便,例如一些Java智能客户端程序。这时可以手工编写测试代码,完成测试任务。与非Java应用相比,Java 应用中不能录制的业务功能更适合采用Java虚拟用户,因为可以直接对一些方法进行调用。
由于Java语言的强大功能,Java虚拟用户的应用远不止上面这些,读者可以慢慢挖掘。
2. 怎么使用loadrunner测试页面性能
新建脚本:选择File->NEW弹出新建窗口中,选择Web(HTTP/HTML),点击“Create”,弹出录制脚本设定窗口,输入相关设置信息,用户登录等前提可以录制到1中,打印动作录制到2中,动作录制完毕后,点击OK,切换到录制的脚本信息页面。然后可根据自己想要测试的场景来修改脚本语言,脚本修改完毕后,进行保存。运行脚本,选择“Run Load Tests”,选择需要运行的脚本同时执行这个动作的用户数,脚本运行结束条件设定,开始执行脚本。脚本执行完毕后,对运行结果进行保存,查看运行结果。 基础不好,你就去找个培训机构提升一下自己,你这样下去对你以后的工作升职加薪都会有影响的,像上海鲁德啊,51Testing这些都挺不 错的
3. loadrunner怎么录制接口测试脚本
LR进行接口测试材用用Jmeter做接口测试够用建议使用Jmeter纵使想要用LR行
录制或手写想测试接口并设置参数化/检查点/关联/cookie等必要属性运行查看接口返信息判断接口否工作
4. 有没有高手给我讲下Loadrunner 如何手写测试脚本,一般需要注意哪些(724588691)
lr的压力是针对服务器的,说白了也就是模拟一个客户端发送数据到服务器,在接受服务器给你的数据。要手写脚本需要清楚以下一些东西:
1、客户端和服务器数据交换流程
2、协议文档(此协议文档指服务器和客户端协定的数据格式和内容)
3、数据提交函数,最常用的函数:web_custom_request ,其次还有web_submit_data和web_submit_form
4、检查点函数,最常用的函数:web_reg_find,还有web_find
5、动态关联函数:web_reg_save_param
6、参数化
刚开始的时候可以先从录制的脚本把相应的函数复制过来,自己更改数据和添加相应的函数功能,上手之后就可以完全自己去写。
5. loadrunner脚本报错nosuchfileordirectroy
vi打开脚本执行:setff=unix。
在LoadRunner中运行功能测试脚本主要有以下几个优点:可检查高负载对应用程序的功能带来的影响。可以度量应用程序在负载下运行时,典型用户在客户端等待的响应时间(端到端的响应时间)。
通过GUIVuser可以度量并监控客户端,服务器系统在负载下端到端的用户响应时间。端到端的响应时间表示用户在提交请求后等待响应的总时间。端到端的响应时间包括GUI响应时间、网络和服务器响应时间。
6. 使用loadrunner怎么进行软件测试
录制脚本:
选择适当的协议,web服务器一般选择http协议。
录制方式一般选择HTML-based Script,但有下列情况选择URL-based Script:不是基于浏览器的应用程序,应用程序中包含javaScript脚本且产生了请求,基于浏览器的应用程序使用了https协议
默认设置记录的浏览器为IE,不要使用其他浏览器
在录制过程中不要后退页面
如果想测定某个操作的响应时间,可以在脚本中插入事务,使用事务把该操作包装起来。分析执行结果的时候可以查看到该事务的响应时间。
插入集合点,可以使多个用户并发进行同一操作,提高操作的并发程度,以对服务器增加负载,测试并发能力。
在Run-Time Setting设置中,设置网络带宽以模拟不同带宽的网络;设置block、action的迭代次数。
对脚本进行参数化,设置参数变更方式
关联脚本
2. 设置场景
设置场景主要包含:选择脚本,设定执行用户数,选择测试负载机,设置脚本执行的方式,设置集合点点,设置Run-Time Setting。
如果要模拟的用户数比较多,应该设置多台测试负载机,一般主流的PC机至少能模拟100个用户对服务器的访问。
设置脚本的执行方式:设置用户的启动方式,设置用户的终止方式。
设置集合点:开关集合点,设置用户通过集合点的方式。
当浏览web页面较大时,在测试的时候可能出现timeout错误。可以在Run-Time Setting-Internet Protocol-Preferences-Options中适当调高Http-request connect timeout和Http-requestreceive timeout的值。
设置IP欺骗。如果服务器对用户的IP有限制(安全原因),启用IP欺骗。设置IP欺骗应该注意:1.测试负载机应该使用静态IP;2.在选择测试负载机之前开启IP欺骗开关
设置服务器监控计数器。包含:内存,CPU,线程,进程,网络,磁盘。注意,对于非本机的Windows服务器进行监控时,必须使用命令建立$IPC连接,命令为 net use \服务器IPipc& /user:administrator *
3. 分析结果
查看分析结果,查看事务的响应时间、服务器的平均吞吐量,执行用户人数等
查看线程图,用户变化图,响应时间图,吞吐量图。
查看服务器监控的计数器图。
分析各个性能指标是否符合需求。比如:可用内存曲线是否正常,是否存在内存泄漏;CPU利用率曲线是否平缓,是否低于90%;线程数是否正常,而不是一直在增长;网络带宽是否满足流量需求;磁盘是否满足用户操作要求等等
分析各个曲线图是否存在异常情况。比如:响应时间是否满足需求;系统是否支持要求的并发;随着负载的增加,吞吐量是否同样增加,吞吐量是否存在瓶颈等等
有时候分析单个要素并不能反映存在的问题,需要多个要素联系起来进行分析。比如,可以把用户数的变化图和吞吐量图联系起来进行分析。LoadRunner的分析工具支持把两个表合并进行分析,把用户数变化图和吞吐量变化图合并,就可以观察吞吐量是否随着用户数的变化而相应时间。如果随着用户数的增加,吞吐量持平或者下降,说明此时系统吞吐量达到了最大值,系统达到了瓶颈。
7. 如何用loadrunner做简单网站的压力测试
这个问题问的有点泛。LoadRunner做压力测试也是有比较规范的流程。当然这个还是要看你做压测的目标和场景。目标和场景要从压测需求做起。例如:
需求调研和总结;
测试策略和场景制定;
测试环境部署;
测试用例编写;
测试数据准备;
脚本录制和调试;
场景运行设置
场景加压测试
测试数据分析和调优
优化回归测试
当然以上只是写出测试主干过程,其中细节和要掌握的知识也不是一点点东西能说的明白,希望这点点说明能解你疑惑。
8. loadrunner怎样做自动化测试
自动化测试脚本设计总体流程如下图: 需要取得的输入应预先制作了CSV文件,关在脚本参数配置中定义变量。 自动化测试程序关键代码 1、生成结果文件(html格式),文件名称为 test _系统时间(%Y%m%d%H%M%S)_虚拟用户编号,并写入测试结果文件的html开始标识 CODE: //定义结果文件变量 long file; //定义文件名种子(虚拟用户编号)变量 char *vusernum; //定义测试结果变量 char V_Result[1024]; vuser_init() { //取得文件名种子(虚拟用户编号) vusernum=lr_eval_string ("_{vuserid}"); //取得文件种子(系统时间) lr_save_datetime("%Y%m%d%H%M%S", DATE_NOW, "now_date"); //拼结测试结果文件名称 strcpy(V_Result,"d://test/Result/test"); strcat(V_Result,lr_eval_string("_{now_date}")); strcat(V_Result,vusernum); strcat(V_Result,".html"); //生成并打开测试结果文件 file=fopen(V_Result,"at+"); //写入测试文件头部html信息 strcpy(V_Result,"<html><table border='1'><tr>< td>IMSI号码</td><td>预期值</td><td>返回值< /td><td>结果</td></tr>"); fputs(V_Result,file); return 0; }2、从参数化文件读取测试参数和预期结果、发送请求并获得服务器返回实际结果,比较测试结果后写入测试结果文件。 CODE: Action() { //测试结果文本 char V_testres[1024]; //定义返回结果是否正确变量 int result; //取得IMSI号码 char *V_imsi=lr_eval_string ("{IMSI}"); //设置页面接收最大的字节数,该设置应大于服务器返回内容的大小 web_set_max_html_param_len("20000"); //取得服务器返回内容 web_reg_save_param("filecontent", "LB=", "RB=", "Search=Body", LAST); //发送请求 web_submit_data("login", "Action=host:port/autonavit/search?cmd=clientlogin&termver=5&termcode=30001&termdbver=3 ", "Method=POST", "RecContentType=text/html", "Referer=", "Snapshot=t9.inf", "Mode=HTTP", ITEMDATA, "Name=imsi", "Value={IMSI}", ENDITEM, LAST); //比较预期值和实际值是否相等 result=strcmp(lr_eval_string("{YQJG}"),lr_eval_string("{filecontent}")); if ( result == 0 ) { strcpy(V_testres,"通过"); } else { strcpy(V_testres,"失败"); } strcpy(V_Result,"<tr><td>"); //写入测试参数 strcat(V_Result,V_imsi); strcat(V_Result,"</td>"); strcat(V_Result,"<td id='yq'>"); //写入预期结果 strcat(V_Result,lr_eval_string("{YQJG}")); strcat(V_Result,"</td>"); strcat(V_Result,"<td id='sj'>"); //写入实际结果 strcat(V_Result,lr_eval_string("{filecontent}")); strcat(V_Result,"</td>"); strcat(V_Result,"<td>"); //写入测试是否通过 strcat(V_Result, V_testres); strcat(V_Result,"</td></tr>"); fputs(V_Result,file); return 0; }3、写入测试结果文件尾部html信息,关闭文件并结束测试。 CODE: vuser_end() { //结束并关闭文件 strcpy(V_Result,"</table></html>"); fputs(V_Result,file); fclose(file); return 0; }
9. 软件测试LoadRunner的录制脚本是用什么语言编写的
LR脚本支持的语言有:java、c、Visual Basic、vbscrīpt
默认的脚本生成语言为 C。
各种脚本语言的自动选择:
1、对于 FTP、COM/DCOM 和邮件协议(IMAP、POP3 和 SMTP),VuGen 还可以使用 Visual Basic、VB scrīpt 和Javascrīpt 来生成脚本。
2、C 语言 - 用于那些使用复杂的 COM 构造和 C++ 对象的录制应用程序,Web/http协议的脚本也默认使用C语言,并且不可更改。
3、Visual Basic - 用于基于 VB 的应用程序。
4、vb scrīpt - 用于基于 VBscrīpt 的应用程序,例如 ASP。
5、Java scrīpting - 用于基于 Javascrīpt 的应用程序,例如 js 文件和动态 HTML 应用程序。
更改脚本语言:
Tools---Recording Options 菜单选项,选择General--scrīpt选项,就可以看见可选的语言
10. 如何使用loadrunner做性能测试
1、首先大家给自己的电脑上安装上loadrunner
2、loadrunner安装完毕后,启动loadrunner,选择创建脚本
3、新建脚本:
选择file->new
4、弹出新建窗口中,选择web(http/html)
5、点击“create”
6、弹出录制脚本设定窗口,输入相关设置信息:
url
address:输入需要测试的web地址
record
into
action:
1.vuser_init:可以当作前提
2.action:测试的关键动作
例如:测试打印
7、用户登录等前提可以录制到1中;
8、打印动作录制到2中;
9、动作录制完毕后,点击ok,切换到录制的脚本信息页面
10、可根据自己想要测试的场景来修改脚本语言,
11、脚本修改完毕后,进行保存
12、运行脚本,选择“run
load
tests”
13、选择需要运行的脚本
14、对运行环境进行设定,例如:
15、同时执行这个动作的用户数
16、脚本运行结束条件设定
17、开始执行脚本
18、脚本执行完毕后,对运行结果进行保存
19、查看运行结果