zoukankan      html  css  js  c++  java
  • LoadRunner javavuser错误排查

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

     本文从两个方面来讲:windows 32位操作系统;windows 64 操作系统
    开始之前,先说下java环境变量配置(共3处):
    (1)JAVA_HOME: C:Program FilesJavajdk1.6.0_45  (请根据实际情况配置)
    (2)PATH: %JAVA_HOME%in;%JAVA_HOME%jrein
    (3)CLASSPATH: .;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.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 使用Java vuser 必要的配置

    (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>in 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
    解决:java <wbr>Vuser选择Use specified JDK,在JDK后面贴上你的java jdk地址,例如:D:Program FilesJavajdk1.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_05lib;E:jdk1.5.0_05jre;E:libactivation-1.1.jar;E:libaxiom-api-1.2.8.jar; 
    E:libaxiom-impl-1.2.8.jar;E:libcom.ibm.mq.jar;E:libcom.ibm.mqjms.jar;E:libcommons-logging.jar;E:libconnector.jar;E:libdhbcore.jar;E:libjavamail_1.4_spec-1.3.jar;E:libjetty-6.1.9.jar;E:libjetty-util-6.1.9.jar;E:libjms_1.1_spec-1.1.1.jar;E:liblog4j.jar;E:libloggingjcl104-over-slf4j-1.5.0.jar;E:liblogginglogback-classic-0.9.8.jar;E:liblogginglogback-core-0.9.8.jar;E:libloggingslf4j-api-1.5.0.jar;E:liborg.springframework.ws-2.0.0.M1-sources.jar;E:liborg.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(" ");
      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()+";");
      }
      }
      }

  • 相关阅读:
    FireDAC的数据库的FDConnect
    Readers and Writers JSON Framework(2)
    JSON Objects Framework(1)
    SQLServer 临时表的使用
    客户重复需要检查CRM客户
    采购订单下推付款申请单获取组织业务关系
    采购订单跨组织生成销售订单,没得选组织的问题
    销售合同缓存问题
    BOS中给基础资料赋值
    辅助属性值列表功能的缺点
  • 原文地址:https://www.cnblogs.com/shengs/p/6206694.html
Copyright © 2011-2022 走看看