Loadrunner在Java Vuser当中常用的一些Web函数

本文涉及的产品
性能测试 PTS,5000 VUM额度
简介: 习惯了录制脚本的初学者们,会觉得通过Java vuser来写脚本比较陌生,其实看完以下的Loadrunner常用Web函数对比,你就不会觉得Java Vuser有多么神秘了,而且通过Java写性能测试脚本的灵活性要远远高于C语言
+关注继续查看
版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问我的博客 https://blog.csdn.net/smooth00/article/details/75119666

对于Loadrunner,习惯了录制脚本的初学者们,会觉得通过Java vuser来写脚本比较陌生,其实看完以下的Loadrunner常用Web函数对比,你就不会觉得Java Vuser有多么神秘了,而且通过Java写性能测试脚本的灵活性要远远高于C语言(因为Java相对于C要容易的多,而且Java有大量的开源组件和类库可以供你进行扩展开发,几乎做到了没有测试不了的应用以及API接口),进行Java Vuser开发,也比.Net Vuser开发要简单的多(相较于安装一堆.Net组件或插件,Java Vuser只需要引用一下JDK路径就行,Loadrunner11支持JDK1.6,Loadrunner12支持JDK1.7)。

常用函数 Java Vuser  协议脚本 Web-HTML/HTTP协议脚本
引用类
或库文件
import lrapi.lr;
import lrapi.web;
通过globals.h文件引用
think_time lr.think_time(3); lr_think_time(3);
transaction lr.start_transaction("事务");
......
lr.end_transaction("事务", lr.AUTO);
lr_start_transaction("事务");
......
lr_end_transaction("事务", LR_AUTO);
set_option web.set_option("MaxRedirectionDepth", "0",
new String[]{"LAST"});
web_set_option("MaxRedirectionDepth", "0",
LAST );
set_user web.set_user("cluster",
        //lr.decrypt("58cf7265b1677820107f74"),
        "cluster",
        "172.17.2.89:8081");
web_set_user("cluster",
        //lr_decrypt("58cf7265b1677820107f74"),
        "cluster",
        "172.17.2.89:8081");
add_header web.add_header("Authorization",
lr.eval_string("<BasicAuth>"));
web_add_header("Authorization",
lr_eval_string("{BasicAuth}"));
output
message
lr.save_string("test","tParam");
lr.output_message("tParam的值为:"
      +lr.eval_string("<tParam>"));
lr_save_string("test","tParam");
lr_output_message("tParam的值为:%s",
      lr_eval_string("{tParam}"));
web_url web.url("Show status",
    "URL=http://172.17.2.89:8081/kettle/status/",
    new String[]{
        "Resource=0",
        "RecContentType=text/html",
        "Referer=http://172.17.2.89:8081/",
        "Snapshot=t3.inf",
        "Mode=HTTP",
        "LAST"});
web_url("Show status",
    "URL=http://172.17.2.89:8081/kettle/status/",
    "Resource=0",
    "RecContentType=text/html",
    "Referer=http://172.17.2.89:8081/",
    "Snapshot=t3.inf",
    "Mode=HTTP",
    LAST);
web_
submit_data
web.submit_data("executeJob",
    "Action=http://172.17.2.89:8081/kettle/executeJob/",
    new String[]{
        "Method=POST",
        "RecContentType=text/html",
        "Referer=",
        "Mode=HTTP"},
    new String[]{// "ITEMDATA",  不要加这条
        "Name=job", "Value=/DZ/job/HYHZ", "ENDITEM",
        "Name=level", "Value=Debug", "ENDITEM",
        "Name=rep", "Value=DZHY0620", "ENDITEM",
        "LAST"});
web_submit_data("executeJob",
    "Action=http://172.17.2.89:8081/kettle/executeJob/",
    "Method=POST",
    "RecContentType=text/html",
    "Referer=",
    "Mode=HTTP",
    ITEMDATA,
        "Name=job", "Value=/DZ/job/HYHZ", ENDITEM,
        "Name=level", "Value=Debug", ENDITEM,
        "Name=rep", "Value=DZHY0620", ENDITEM,
    LAST);
web_
custom_request
String htmlBody="这里是body串";
web.custom_request("ViewStreamLogin",
    "Method=POST",
    new String[]{
        "URL=http:/*.*.cn/login?user=test&passwd=123",
        htmlBody,
        "TargetFrame=",
        "Referer=",
        "Mode=HTTP",
        "LAST"});
web_custom_request("ViewStreamLogin",
    "URL=http:/*.*.cn/login?user=test&passwd=123",
    "Method=POST",
    "TargetFrame=",
    "Resource=0",
    "Referer=",
    "Mode=HTTP",
    "Body=这里是body串",
    LAST);
web_
submit_form
web.submit_form("authenticate",
    new String[]{
        "Snapshot=t2.inf"},
    new String[]{
        "Name=user", "Value=root", ENDITEM,
        "Name=passwd", "Value=2012", ENDITEM,
        "Name=key", "Value=<OFF>", ENDITEM,
        "LAST"});
web_submit_form("authenticate",
    "Snapshot=t2.inf",
    ITEMDATA,
        "Name=user", "Value=root", ENDITEM,
        "Name=passwd", "Value=2012", ENDITEM,
        "Name=key", "Value={OFF}", ENDITEM,
    LAST);

1、以下列出Loadrunner所有的Java LR Common函数:



2、以下列出Loadrunner所有的Java LR Web函数:


特别说明:Java Vuser 是自定义的 Java 虚拟用户脚本,脚本中可以使用标准的Java语言。这种虚拟用户一般采用纯手工编写(当然Loadrunner11、12也能支持部分Java录制,包括Java Applet、Java Application、Java Over HTTP)。Java虚拟用户适用范围非常广,归纳起来主要有两大类:一类是不太适合录制的业务功能点的性能测试,例如网页上Http文件的下载过程、视频播放等;另一类是基于Java语言开发的应用系统的性能测试,这类应用更适合采用Java虚拟用户进行测试。
        用Java Vuser实现无法录制的测试需求,这类测试需求往往关注于对服务器产生的压力,重点测试在一定压力下服务器的负载情况,为评估、部署、调优系统提供参考。在这类测试工作中,Java的作用仅是一门语言,用于辅助测试人员完成测试程序的开发。在性能测试工作中,不能录制的测试点很多,主要有以下几类:
(一)含有控件的Web应用:在Web应用中,很多包含一些插件的浏览器应用经常不能录制。这类应用往往涉及很多协议,因此录制起来不是特别方便。对于这类应用,可以用Java语言调用其功能来完成用户行为的模拟。
(二)一些和媒体播放、文件下载等相关的应用:媒体播放或文件下载等过程的录制往往不容易控制,如果是应用基于P2P的协议,则会更加复杂。因此,这类测试只能由测试人员开发虚拟用户脚本来完成。
(三)用Java Vuser测试基于Java语言的应用系统性能:相比前面,基于Java语言开发的应用系统,在性能测试中采用Java虚拟用户更显得“门当户对”。这类虚拟用户主要应用在下面两类测试中:
(1)核心算法或业务的执行效率
        对银行、电信等大型的基于J2EE的架构应用系统中,开发阶段的性能测试是必不可少的。为了降低后期遇到性能问题的风险,往往在开发阶段进行一些核心业务的性能测试。这些核心业务或要求较高的执行效率,或者要求支持较多用户的并发。因此,可以利用Java Vuser来测试这些业务的执行效率。
(2)Java应用中不能录制的业务模块
        很多时候,一些J2EE架构的业务系统用LoadRunner录制起来不是特别方便,例如一些Java智能客户端程序。这时可以手工编写测试代码,完成测试任务。与非Java应用相比,Java 应用中不能录制的业务功能更适合采用Java虚拟用户,因为可以直接对一些方法进行调用。
        由于Java语言的强大功能,Java虚拟用户的应用远不止上面这些。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
2天前
|
Java Maven Android开发
Maven - 快速创建Java工程和Web工程
Maven - 快速创建Java工程和Web工程
17 0
|
17天前
|
前端开发 Java 数据库连接
学习Java Web开发的关键技术和概念
学习Java Web开发的关键技术和概念
|
17天前
|
存储 前端开发 Java
Java Web框架,如Spring MVC,是一种用于构建Web应用程序的软件框架:学生考试Web应用程序
Java Web框架,如Spring MVC,是一种用于构建Web应用程序的软件框架。它们提供了一种结构化的方法,用于处理Web请求、生成动态内容和管理Web应用程序的组件。以下是关于Java Web框架和Spring MVC的详细解释,以及如何使用Spring MVC创建一个简单的Web应用程序的示例代码。
|
18天前
|
Java 应用服务中间件
Web项目如何引用其他java项目
Web项目如何引用其他java项目
15 0
|
23天前
|
Java
搭建Java Web开发环境
搭建Java Web开发环境
40 0
|
1月前
|
Java Android开发
Eclipse下Java项目转web项目
Eclipse下Java项目转web项目
|
2月前
|
存储 Java 关系型数据库
JSP考试质量分析系统myeclipse开发mysql数据库bs框架java编程web网页结构
JSP 考试质量分析系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
163 1
|
2月前
|
Java 关系型数据库 MySQL
JSP考试报名管理系统myeclipse开发mysql数据库bs框架java编程web网页结构
二、功能介绍 (1)权限管理:对权限信息进行添加、删除、修改和查看 (2)用户管理:对用户信息进行添加、删除、修改和查看 (3)公告管理:对公告信息进行添加、删除、修改和查看 (4)考试科目管理:对考试科目信息进行添加、删除、修改和查看 (5)考试安排管理:对考试安排信息进行添加、删除、修改和查看 (6)报名管理:对报名信息进行添加、删除、修改和查看,审核, (7)用户登录、身份验证 三、注意事项 1、管理员账号:admin密码:admin 数据库配置文件DBO.java 角色:普通用户,管理员 2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql
72 0
|
2月前
|
Java 关系型数据库 MySQL
JSP实习实训管理系统myeclipse开发mysql数据库WEB结构java编程
JSP 实习实训管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
34 0
|
2月前
|
SQL 存储 Java
JSP商家餐饮管理系统myeclipse开发sql数据库web结构java编程
JSP 商家餐饮管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 商场餐饮管理系统就是专门为商场和餐饮店主量身打造的一款电子商务系统,商场可以通过它来管理商场的美食广场,商场餐饮管理能能够使居民享受到餐厅美食,既方便了顾客,也节约了时间,提高了效率,也解决了普通商场美食广场出现的问题
18 0
相关产品
云迁移中心
推荐文章
更多