
Loadrunner在Java Vuser当中常用的一些Web函数
发布日期:2025-04-11 02:17:18
浏览次数:10
分类:精选文章
本文共 3515 字,大约阅读时间需要 11 分钟。
LoadRunner中的Java Vuser脚本编写指南
作为LoadRunner的用户,你可能已经对通过Java Vuser编写性能测试脚本感到陌生。以下内容将为你提供一个全面理解Java Vuser脚本编写的基础知识,帮助你快速掌握这项技术。
Java Vuser是一种基于Java语言的自定义虚拟用户脚本工具,它允许测试人员手动编写性能测试脚本,适用于传统的Web应用性能测试以及一些特定场景下的测试需求。相比于C语言的脚本编写,Java Vuser提供了更高的灵活性和可扩展性,这使得它成为性能测试领域的重要工具。
在开始编写Java Vuser脚本之前,了解以下核心概念是非常重要的:
LoadRunner的Java Vuser脚本结构
Java Vuser脚本的基础结构包括以下几个关键部分:- 引用类或库文件:通过
import
语句加载所需的LoadRunner类库。 - 定义变量:使用
lr
对象来访问LoadRunner功能。 - 编写逻辑语句:通过Java语句实现自定义的用户行为逻辑。
- 调用LoadRunner函数:利用LoadRunner提供的API函数执行具体的测试操作。
常用Web函数对比
以下是Java Vuser与传统Web-HTML/HTTP协议脚本在功能上的对比:功能 | 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", new String[]{ "URL=http://172.17.2.89:8081/kettle/status/", ... }); | web_url("Show status", "URL=http://172.17.2.89:8081/kettle/status/", ... ); |
web_submit_data | web.submit_data("executeJob", new String[]{ "Action=http://172.17.2.89:8081/kettle/executeJob/", ... }); | web_submit_data("executeJob", "Action=http://172.17.2.89:8081/kettle/executeJob/", ... ); |
web_custom_request | web.custom_request("ViewStreamLogin", new String[]{ "URL=http:/*.*.cn/login?user=test&passwd=123", ... }); | web_custom_request("ViewStreamLogin", "URL=http:/*.*.cn/login?user=test&passwd=123", ... ); |
web_submit_form | web.submit_form("authenticate", new String[]{ "Snapshot=t2.inf", ... }); | web_submit_form("authenticate", "Snapshot=t2.inf", ... ); |
- LoadRunner的Java Vuser函数LoadRunner提供了丰富的Java Vuser函数,涵盖从简单到复杂的操作需求。以下是一些常用的函数示例:
基本控制函数
lr.think_time(int seconds);
:设置思考时间。lr.start_transaction(String name);
:开始事务。lr.end_transaction(String name, int type);
:结束事务。
Web相关函数
web.set_option(String name, String value, String[] options);
:设置Web选项。web.set_user(String username, String password, String host);
:设置用户认证信息。web.add_header(String name, String value);
:添加请求头。web.submit_data(String action, String[] options);
:提交表单数据。web.custom_request(String action, String[] options);
:执行自定义请求。web.submit_form(String action, String[] options);
:提交表单。
日志和输出功能
lr.save_string(String name, String value);
:保存字符串到日志。lr.output_message(String format, Object... args);
:输出消息。
- Java Vuser的应用场景
无法录制的业务功能
- 例如某些复杂的Web应用、视频播放、文件下载等功能,手动编写脚本是更好的选择。
基于Java语言的应用系统测试
- Java Vuser非常适合测试基于J2EE架构的应用系统,特别是那些需要模拟大量用户并发访问的场景。
性能测试中的非功能性需求
- Java Vuser可以用来测试服务器的负载能力、数据库的响应时间等关键性能指标。
- Java Vuser脚本的编写流程
准备工作
- 安装Java开发工具(JDK)和LoadRunner插件。
- 配置LoadRunner的Java路径,确保JVM能够找到加载LoadRunner相关类。
编写脚本
- 使用Java语言编写自定义脚本,调用LoadRunner的API函数实现所需的测试操作。
- 根据具体需求配置参数,如请求头、用户认证信息、提交数据等。
执行测试
- 在LoadRunner中导入脚本文件并配置运行参数。
- 执行测试,观察系统性能数据。
分析结果
- 通过LoadRunner的分析工具对测试结果进行详细分析,识别性能瓶颈并优化系统。
Java Vuser脚本的编写适用于以下场景:
编写Java Vuser脚本的基本流程如下:
通过以上步骤,你可以轻松地编写出高效的Java Vuser脚本,满足各种性能测试需求。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月05日 12时46分20秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LNMP
2023-02-06
lnmp mysql 10038_LNMP环境搭建MySQL篇_MySQL
2023-02-06
LNMP 软件下载安装
2023-02-06
LNMPA1.6部署记录(Ubuntu)
2023-02-06
LNMP与LAMP的工作原理
2023-02-06
LNMP安装与配置
2023-02-06
LNMP安装了哪些软件?安装目录在哪?
2023-02-06
LNMP安装成功的界面
2023-02-06
LNMP架构 nginx默认虚拟主机
2023-02-06
Lnmp架构之PHP
2023-02-06
LNMP架构部署实战(附LNMP源码包和CRUD测试Web网站)
2023-02-06
LNMP源码编译安装(附CentOS6、RedHat6、7虚拟机环境)
2023-02-06
LNMP配置优化
2023-02-06
Loaddata 未正确处理时间戳和时区
2023-02-06
LoadRunner 使用介绍
2023-02-06