JAVA VUser

一、java虚拟用户协议

java虚拟用户脚本主要有Java Vuser、Corba-Java、RMI-Java、EJB等类型。这些类型的虚拟用户脚本均可以用java语言来手工编写。

1、 Java Vuser:子定义的Java虚拟用户脚本,脚本中可以使用标准的Java语言。这种虚拟用户不可以录制,只能采用纯手工编写,其适用范围和C Vuser一样。

2、 Corba-Java:用来测试用java编写的使用corba应用程序or小程序的性能,用户可以先运行VuGen录制脚本,然后使用标准的Java库函数以及LoadRunner特有的Java方法来增强该脚本。

3、 RMI-Java:用于测试RMI(远程方法调用)java应用程序or小程序。选择RMI-Java用户进行录制,VuGen可以创建对应的java脚本。完成录制后,可以使用JDK或自定义类,通过标准的Java代码来增强or修改脚本,还可以通过特定于LoadRunner的Java方法增强该脚本。

4、 EJB:采用EJB协议,VuGen会自动创建脚本以测试EJB功能,无需录制或编程,这和标准的Java Vuser明显不同。在使用EJB协议类型的虚拟用户生成脚本前,需要指定JNDI属性和关于应用程序服务器的其他信息。LoadRunner的EJB检测器首先扫描应用程序服务器并确定哪些EJB可用;接着选择要测试的EJB,LoadRunner将生成要测试每个EJB方法的脚本,并为每个方法创建事务,便于度量其性能并找出问题。需要注意的是,创建EJB虚拟用户测试脚本必须在应用程序服务器主机上安装LoadRunner EJB检测器,而且检测器必须处于活动状态。EJB检测器是一个独立的**程序,必须将其安装在要扫描查找EJB的每一台计算机上。安装EJB检测器前,计算机上还需要安装有效的JDK环境。

二、Java Vuser适用范围

1、 用Java Vuser实现无法录制的测试需求。比如:含有控件的web应用、一些和媒体播放、文件下载等相关的应用。

2、 用Java Vuser测试基于Java语言的应用系统性能。比如:核心算法或业务的执行效率、java应用中不能录制的业务模块。

三、Java VUser的使用方法

1、 创建工程Test

2、 写个经典的HelloWorld类。

3、 Run as---》Java Application运行下

4、 将工程下的整个com包拷贝到loadrunner安装目录下的classes目录下。例如我的是:D:\Program Files\HP\LoadRunner\classes

5、 新建Virtual User:选Java Vuser

6、 生成脚本

Vuser_init和vuser_end不用管

在Actions里写测试脚本

7、 运行脚本结果,看到如图红色部分,说明脚本运行成功了。

四、loadRunner的常用Java API

loadrunner为访问Vuser函数提供了特定的Java API,这些函数都是lrapi.lr类的静态方法。借助Java API可以大大增强Java虚拟用户脚本的可用性。

1、 事物函数(Transaction Function)

Int  lr.start_transaction(String transaction_name)  标记事物开始

Int  lr.end_transaction(String transaction_name,int status) 标记事物结束

2、 信息函数

String  lr.get_group_name();返回Vuser组的名称

String  lr.get_host_name();返回执行Vuser脚本的负载生成器的名称

String  lr.get_master_host_name();返回运行controller计算机的名称

Int     lr.get_scenario_id();返回当前方案的ID

Int     lr.get_vuser_id();返回当前vuser的ID

3、 运行时函数

Void lr.peek_events();提示可以暂停vuser脚本的位置

Int   lr.rendezvous(string rendezvous_name);在vuser脚本中设置集合点

Void  lr.think_time(double time):暂停脚本执行,模拟实际用户操作直接的思考时间。

4、 字符串函数

String  lr.eval_string(string instring)用当前值替换参数

Int    lr.eval_int(String name)用整型值替换参数

Int    lr.next_row(string dat_file)指示使用指定参数的下一行数据

5、 消息函数

Int  lr.debug_message(int  message_level, string message):向输出窗口发送测试过程的调试消息。

Int  lr.error_message(String message)向Vuser日志文件和输出窗口发送错误消息以及位置的详细信息。

Int  lr.log_message(string message) 向Vuser日志文件发送消息

Int  lr.message(string message) 向输出窗口发送消息

Int  lr.output_message(string message):向日志文件和输出窗口发送消息和位置信息

Int  lr.vuser_status_message(string message):向controller窗口中的“Vuser状态”区域发送消息

当需要引jar包时

http://blog.csdn.net/aovenus/article/details/9963461

http://www.51testing.com/html/88/n-829188-2.html

JAVA VUser的更多相关文章

  1. loadrunner11中java vuser引用jar包

    1.创建工程,新建类,HelloWorld.java,代码如下: package com.liuke; public class HelloWorld { public String getHello ...

  2. LR之Java Vuser

    虽然LR对C有较好的支持,但有时使用Java Vuser会更方便,以下描述通过LR来编写Java脚本以及调用jar包的基本步骤. 1.安装配置java环境  LR的java vuser脚本的执行依赖于 ...

  3. 【原创】LoadRunner Java Vuser脚本的配置和调试指南

    1 编写目的 本文介绍了Loadrunner多负载压力机的配置,并通过测试Java Vuser的数据库连接脚本对配置结果进行了验证,同时对配置过程中遇到的问题和解决的过程进行了记录,关于Java数据库 ...

  4. 【原创】LoadRunner Java Vuser开发环境配置指南

    1 编写目的 本文主要介绍Java运行环境的配置,同时通过编写HelloWorld程序,讲解在LoadRunner下如何开发简单的Java Vuser脚本.关于Java语言的深入学习,大家可以参考其他 ...

  5. LoadRunner JAVA Vuser接口测试

    注:JDK只支持1.6 1.创建工程Test2.写个经典的HelloWorld类.3.Runas--->Java Application运行下4.将工程下的整个com包拷贝到loadrunner ...

  6. loadrunner之Java Vuser协议脚本编写

    步骤:1.根据自己使用的lr版面选择jdk 1)LR11   1.6   32位 2)LR12   1.7   32位 2.安装好jdk,并搭建java环境变量,安装好java代码编写工具 3.在sr ...

  7. LoadRunner系列之—-03 用Java Vuser协议编写接口测试脚本

    待测试接口用java语言实现,且项目中调用该接口需要用专门的jar包.这种情况可以用Java Vuser协议实现接口调用脚本,类似java代码. 代码样例如下: /* * LoadRunner Jav ...

  8. LR接口测试---Java Vuser之增删改查

    import lrapi.lr; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  9. Loadrunner 11 中的Java Vuser

    Java vuser是自定义的java虚拟用户脚本,脚本中可以使用标准的java语言. 1.安装jdk 注意,lr11最高支持jdk1.6 2.配置环境变量 3.在lr中选择java vuser协议 ...

随机推荐

  1. Linux系统的grub和BIOS加密

    启动流程: BIOS ——> MBR(主引导记录,找到系统在哪个分区) ——> boot loader(grub) ——>kernel(内核)——>进入启动级别init 硬盘的 ...

  2. Redis01——Redis产生背景

    Redis 产生背景 1.1.数据存储的发展史 1.1.1.磁盘时代 很久之前,我们的数据存储方式是磁盘存储,每个磁盘都有一个磁道.每个磁道有很多扇区,一个扇区接近512Byte. 磁盘的寻址速度是毫 ...

  3. C++第三次作业--作用域

    作用域 任何一种语言最基本的部分就是变量,而变量有两个非常重要的特性,作用域和生存期. 定义 作用域是变量的一个属性,某个变量在代码中有效的区域为该变量的作用域. 函数原型作用域 函数声明参数从参数声 ...

  4. django虚拟环境搭建

    windows建立Django项目(建立虚拟环境,安装virtualenv,安装Django,创建项目) 目的:为每一个项目单独配置一个环境例如:项目一使用django1.10, 项目二使用djang ...

  5. Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader

    Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader ...

  6. Java 转发和重定向的区别

    转发是服务器行为,重定向是客户端行为 1.转发在服务器端完成的;重定向是在客户端完成的 2.转发的速度快;重定向速度慢 3.转发的是同一次请求;重定向是两次不同请求 4.转发不会执行转发后的代码;重定 ...

  7. 【ORACLE语句备份】数据库表同步 ——定时任务管理器(EXPDP导出,IMPDP导入)

    1.C:\Users\Administrator>sqlplus sys/xxx@xxx as sysdba; 2.SQL> create directory dbbak4 as 'e:\ ...

  8. Vue上传通过“服务端签名后直传”上传文件到阿里云 报错 400 Bad Request

    我报错的原因是 formData.append('file', file) 放在签名前面了 解决办法 formData.append('file', file) 一定在最后 /** * 上传文件到 o ...

  9. EOS dice移到1.8版本的修改汇总

    EOS dice移到1.8版本的修改汇总 1. CORE_SYMBOL 被去掉了,需要自己在文件中声明eg: uint64_t string_to_symbol_c(uint8_t precision ...

  10. mysql修改数据存储路径报错处理

    Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'解决?: >>> vim ...