Loadrunner 9.5/11 使用java 开发vsuer script需要的环境配置

本文从两个方面来讲:windows 32位操作系统;windows 64 操作系统
开始之前,先说下java环境变量配置(共3处):
(1)JAVA_HOME: C:\Program Files\Java\jdk1.6.0_45  (请根据实际情况配置)
(2)PATH: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
(3)CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(前边是点号分号)

一、windows 32位操作系统安装Loadrunner 9.5/11 使用java vuser 必要的配置
(1)操作系统:windows 32位系统(windows7 32 位 测试通过)(2)JDK版本:jdk1.6 32位(jdk1.6测试通过,目前LR不支持1.7及以上的)(3)对jdk1.7及以上开发的脚本,运行会报错,原因 LR不支持JDK1.7及以上,如果环境OK,需要新建测试脚本。这几点非常重要,不然会报各种问题的错误,例如:Error: Java VM internal error:Error Loading javai.dll..[MsgId: MERR-22995]Warning: Extension java_int.dll reports error -1 on call to function ExtPerProcessInitialize[MsgId: MWAR-10485]Error: Thread Context: Call to service of the driver failed, reason - thread context wasn't initialized on this thread.[MsgId: MERR-10176]

二、 windows 64 位操作系统安装Loadrunner 9.5/11 使用Javavuser 必要的配置

(1) 操作系统 windows 64(windows 7 64位测试通过)
(2) jdk 1.6  必须是32位的(虽然操作系统是64位的),不能是64位jdk,目前jdk 1.6 32位的再windows 7 64位上测试通过。
64位系统 安装64位jdk 1.6,运行脚本会报如下错误:
Error: Failed to find java.exe.
Please add the <JDK>\bin to the path and try again.[MsgId: MERR-22968]
Warning: Extension java_int.dll reports error -1 on call to function ExtPerProcessInitialize[MsgId: MWAR-10485]
Error: Thread Context: Call to service of the driver failed, reason - thread context wasn't initialized on this thread.[MsgId: MERR-10176]

特别强调:

以上两点非常重要,请大家核对自己的配置。

 
知道loadrunner可以使用java写脚本,今天就试了一下,遇到了两个第一次写Java Vuser脚本普遍都会遇到的问题。
第一个问题:Error: Java VM internal error:Error Loading javai.dll.没有找到java的Jdk
解决:选择Use specified JDK,在JDK后面贴上你的java jdk地址,例如:D:\Program Files\Java\jdk1.6.0_20,点击OK即可。(loadrunner11,可以使用jdk1.6,1.7,没试还不知道)
第二个问题:Error: at java.lang.ClassLoader.defineClass1(Native Method)
解决:loadrunner在编译Java Vuser的时候会加载我们配置环境变量中的path,如果path中有不同版本的java jdk就会造成冲突,删除path中的其它版本的jdk路径,重启loadrunner。
 
 
在测试中,运用java vuser编写脚本时,如果要导入一些jar包,loadrunner的操作方式是在 Runtime settings里的Java Environment Settings 的classpath里面添加,但是,在这里面只能通过点击右上角的 第三个(形如文件夹)按钮加jar包,点一次加入一个,如果测试过程中需要大量的jar包,那么这种方法显然很慢很头痛,现在简述一下我的处理方式。可以方便快捷的将一个文件夹下的所有jar包加入到测试环境中。

(1)新建一个java vuser脚本,然后点击保存,输入脚本名称,如test,将脚本保存到你想保存的位置,假如  C:/,这样loadruner会在c:/盘建立一个test文件夹 
             
   (2)[size=x-large]在virtual  user generator 里按F4,或者点击右上角工具栏的最后一个按钮,调出runtime setting, 
       定位到Java Environment Settings 的classpath,你将看到loadrunner自动加载了系统的环境变量,你在这里可以删除一些不需要的jar,只保存jre即可。点击确定 
   
   (3)来到你脚本保存的目录(本例为c:/test),找到default.cfg文件,用记事本或者任何文本编辑器打开,你将看到文件的底部有 
       [JavaVM:Options] 
        Java_Env_ClassPath= 
         。。。。。。。。。。。 
    将你想要加入的jar包的路径加在“Java_Env_ClassPath=”后面就可以了(只需修改这里,其他项不用改)。例如: 
Java_Env_ClassPath=.;E:\jdk1.5.0_05\lib;E:\jdk1.5.0_05\jre;E:\lib\activation-1.1.jar;E:\lib\axiom-api-1.2.8.jar; 
E:\lib\axiom-impl-1.2.8.jar;E:\lib\com.ibm.mq.jar;E:\lib\com.ibm.mqjms.jar;E:\lib\commons-logging.jar;E:\lib\connector.jar;E:\lib\dhbcore.jar;E:\lib\javamail_1.4_spec-1.3.jar;E:\lib\jetty-6.1.9.jar;E:\lib\jetty-util-6.1.9.jar;E:\lib\jms_1.1_spec-1.1.1.jar;E:\lib\log4j.jar;E:\lib\logging\jcl104-over-slf4j-1.5.0.jar;E:\lib\logging\logback-classic-0.9.8.jar;E:\lib\logging\logback-core-0.9.8.jar;E:\lib\logging\slf4j-api-1.5.0.jar;E:\lib\org.springframework.ws-2.0.0.M1-sources.jar;E:\lib\org.springframework.ws-2.0.0.M1.jar;

(这串字符串你可以写一个程序,直接获取某给目录的jar包,附件中是我的程序,只需修改你jar包放在的目录就可以了)

保存后,再回到runtime settings    你将看到loadrunner把你加入的包加载了进去,至此你就可以进行其他工作啦。[/size]

  • GetFileNameUnderDIR.rar (722 Bytes)
  • 下载次数: 54
  • package com.ecjtu.guosxu;

    import java.io.File;

    public class GetFileNameUnderDIR {

    /**
    * 获取某文件夹下所有文件,并返回该文件夹下的文件名
    *
    */

    private static final String fromFileDIR = "E:\\lib\\";//

    public static void main(String[] args) {
    long start = System.currentTimeMillis();
    FindFile(fromFileDIR);
    System.out.println("\n");
    System.out.println(" the App cometo end ,total time : "
    + (System.currentTimeMillis() - start));
    }

    public static void FindFile(String fromFile) {

    File findFile = new File(fromFile);
    if (findFile.isDirectory())
    {// 判断输入是否为目录
    File[] findFiles = findFile.listFiles();
    for (int i = 0; i < findFiles.length; i++)
    {
    if (findFiles[i].isDirectory()) {// 如果是文件夹,则遍历
    FindFile(findFiles[i].getAbsolutePath());
    }
    else{// 如果是文件,则读取内容
    System.out.print(findFiles[i].getAbsolutePath()+";");
    }
    }
    }
    else {//如果输入的就是一个文件
    System.out.println(findFile.getAbsolutePath()+";");
    }
    }
    }

LoadRunner javavuser错误排查的更多相关文章

  1. [Python Web]配置 nginx 遇到错误排查(初级)

    配置 nginx 遇到错误排查(初级) 系统版本:ubuntu 14.04,nginx 版本:nginx/1.4.6 (Ubuntu) 本文不是一步步搭建 nginx 的过程,而是我在使用 nginx ...

  2. NGINX 502错误排查(转)

    一.NGINX 502错误排查 NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多.将网上找到的一些和502 Bad Gateway错误有关 ...

  3. docker镜像运行错误排查

    docker做服务时,如果客户端无法连接,错误排查: 1.先使用 docker ps 查看镜像是否都在运行中,如果没有就进入镜像查看日志 2.如果确定代码及配置文件没有问题,就需要检查镜像的替换是否正 ...

  4. docker 错误排查:无法进入容器.

    docker 错误排查:无法进入容器. #docker exec -it 3c1d bash rpc error: code = 2 desc = oci runtime error: exec fa ...

  5. 原创Couldn't read packet: Connection reset by peer 错误排查思路(推荐)

    作为一个运维 不是你懂多少知识才是你的价值 你有幸能遇到多少错误才是你的最大的价值 知识 你有我有大家有  错误我有你没有 这便是我的价值 我遇到一个错误 蛮难遇到的一个错误 所以想分享给大家 下面我 ...

  6. 总结:利用asp.net core日志进行生产环境下的错误排查(asp.net core version 2.2,用IIS做服务器)

    概述 调试asp.net core程序时,在输出窗口中,在输出来源选择“调试”或“xxx-ASP.NET Core Web服务器”时,可以看到类似“info:Microsoft.AspNetCore. ...

  7. mysql添加,授权,删除用户以及连接数据库Can't connect to MySQL server on '192.168.31.106' (113)错误排查

    centos7下面操作mysql添加,授权,删除用户 添加用户 以root用户登录数据库,运行以下命令: create user test identified by '; 上面创建了用户test,密 ...

  8. MySQL启动错误排查

    一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大 ...

  9. date\"123456 错误排查

    最近服务器重装,干脆将所有的源代码都重新整理了一下,开始一切正常,后来发现,每次修改一个画面的时候就会报错 跟踪了下发现是datetime.SmartDate等时间类型的数据,在进行序列化的时候改变了 ...

随机推荐

  1. android studio connot resolve

    使用AS的时候,肯定会遇到这个问题. 我使用清除缓存都不能解决,不过无意中发现代码变了. final Button select = (Button) findViewById(android.R.i ...

  2. Android 底部菜单固定到底部

    今天搞了很久的一个问题,导航菜单没有固定到底部,因为上面是ListView,可是没内容,于是就浮动上去了. 效果如下: 这里采用的是一个碎片,代码是: <LinearLayout xmlns:a ...

  3. Android webView输出自定义网页

    这次来使用webview输出网页型数据.因为这样的数据好使用富文本编辑器,有各种各样的拓展. 上代码: package controller.hzl.com.testcall; import andr ...

  4. mysql 实现多列唯一性约束

    alter table j_assistants add constraint unique_name_course_class unique(name_id,course_id,class_id);

  5. [转] C#开源项目大全

      商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK ...

  6. 【进阶修炼】——改善C#程序质量(10)

    158,不要写冗余注释. 注释应该写代码没有表达的东西. 代码能够自我描述就不要加注释. 159,废弃的注释应该尽早删除. 废弃的注释由于年代太久远,已经和现在的代码逻辑不匹配了,这样的注释只会误导人 ...

  7. TIDB介绍 新数据库趋势

    TIDB是什么? TIDB 受谷歌Spanner和F1的论文启发的new sql数据库,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性,同类数据库还 ...

  8. PCL点云配准(1)

    在逆向工程,计算机视觉,文物数字化等领域中,由于点云的不完整,旋转错位,平移错位等,使得要得到的完整的点云就需要对局部点云进行配准,为了得到被测物体的完整数据模型,需要确定一个合适的坐标系,将从各个视 ...

  9. Python __init__函数的使用

    class Cat: def __init__(self,_name): self.name = _name def eat(self): print("i am eating ." ...

  10. linux下udev简介

    一.关于Udev u即user space,dev是device,通过它的名字,我们就可以简单了解到,它是一个和用户态相关的驱动设备管理机制.udev是一个针对2.6内核的文件系统.提供一种基于用户空 ...