1.

Eclipse中调试Java脚本,脚本调试通过后,打成jar包;
2. 新建lr脚本,选择Java vuser协议;
3. Run-time Settings中Classpath设置jar包,没用的jar包一律删除,或不选择,否则会出现错误;然后添加Java脚本所需要的jar包;
4. jar可以放在Java vuser根目录,直接使用;
5. 写Java脚本,调试。
6. controller中并发时,使用Run Vuser as  a process模式并发。
 
Java程序:  public static void main(String[] args) { 。。。。}

 
Lr脚本:
import com.p2p.test.*;
import lrapi.lr;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
 
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
 
 
 
public class Actions
{
public static HttpClient httpClient = new HttpClient();
public int init() throws Throwable {
 
 
return 0;
}//end of init
 
 
public int action() throws Throwable {
 
 
 
      //   HttpClient httpClient = new HttpClient();
 PostMethod postMethod = new PostMethod(
      //http://172.30.1.44:8899/entruSettleNotify
      //http://10.7.3.94:8899/frontAPI/entruSettleNotify
             "http://172.30.1.44:8899/entruSettleNotify");//http://172.30.1.44:8899/entruSettleNotify   http://10.7.3.94:8899/frontAPI/entruSettleNotify
     // 设置用户浏览器为MicrosoftIE6.0
     postMethod.setRequestHeader("User-Agent",
             "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
     // 设置编码
     postMethod.getParams().setParameter(
             HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
     // 设置请求参数
     
    //String BatchNo = "20140707109257829643";
    //String childBatchNo = "140387";
 
     String reid = "2233344450";   // 还款用 要改
     try{
         String xmldsES0003="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
                 + "<message xmlns=\"http://www.w3school.com.cn\">    "
                 + "<head>        "
                 + "<version>01</version>        "
                 + "<type>0002</type>        "
                 + "<channelNo>HM</channelNo>        "
                 + "<tradDate>20140515</tradDate>        "
                 + "<tradTime>141558</tradTime>        "
                 + "<tradFlowNo>ES000320140515100591</tradFlowNo>        "
                 + "<tradNo>ES0003</tradNo>    "
                 + "</head>    "
                 + "<body>        "
                 + "<merchantNo>1092</merchantNo>        "
                 //20140712109264712593
                 //20140712109289216534
                 + "<batchNo>20140715109258670149</batchNo>        " // 要改
                 + "<submitDate>790538</submitDate>        "
                 + "<batchStatus>06</batchStatus>        "
                 + "<batchUse>01</batchUse>        "
                 + "<batchRemark></batchRemark>        "
                 + "<batchSumCount>1</batchSumCount>        "
                 + "<batchSumAmt>100</batchSumAmt>        "  // 要改
                 + "<batchSumSuccCount>0</batchSumSuccCount>        "
                 + "<batchSumSuccAmt>0.00</batchSumSuccAmt>        "
                 + "<list name=\"batchList\">            "
                 + "<row>                "
                 //961754
                 //160759
                 + "<childBatchNo>578936</childBatchNo>                "  // 要改
                 //102100009545
                 //305100001057
                 + "<cnaps>102100009545</cnaps>                "
                 + "<bankAcc>1</bankAcc>                "
                 + "<rcvName>1</rcvName>                "
                 + "<acctAttribute>02</acctAttribute>                "
                 //中国工商银行股份有限公司北京玉林支行
                 //中国民生银行股份有限公司北京中关村支行
                 + "<branchName>中国工商银行股份有限公司北京玉林支行</branchName>                "
                 + "<branchProvince></branchProvince>                "
                 + "<branchCity></branchCity>                "
                 + "<branchSite></branchSite>                "
                 + "<amount>100</amount>                "  // 要改
                 + "<currencyType>CNY</currencyType>                "
                 + "<state>02</state>                "
                 + "<procTime>20140515131232</procTime>                "
                 + "<remark>转账成功</remark>            "
                 + "</row>            "
                 + "</list>    "
                 + "</body>"
                 + "</message>";
     String xmldsES0006="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
             + "<message xmlns=\"http://www.w3school.com.cn\">    "
             + "<head>        "
             + "<version>01</version>        "
             + "<type>0002</type>        "
             + "<channelNo>HM</channelNo>        "
             + "<tradDate>20140613</tradDate>        "
             + "<tradTime>105500</tradTime>        "
             + "<tradFlowNo>ES000620140410100821</tradFlowNo>        "
             + "<tradNo>ES0006</tradNo>    "
             + "</head>    "
             + "<body>  "
             + "<rechargeId>"+reid+"</rechargeId>      "
                     + "<merchantNo>1054</merchantNo>        "
                     + "<balanceId>161</balanceId>        "
                     + "<rechargeAmt>1003315.07</rechargeAmt>        "
                     + "<tradeDate>20140621</tradeDate>        "
                     + "<state>1</state>        "
                     + "<businessType>2</businessType>        "
                     + "<info>161</info>        "
                     + "<remark>161</remark>    "
                     + "</body>"
                     + "</message>";
     String xmlds = xmldsES0003;//xmldsES0003;   //要改
//
     String aa = xmlds+"111111";
     String mac=DigestUtils.md5Hex(aa);
//   System.out.println("上送报文:"+xmlds);
//   System.out.println("上送摘要:"+mac);
     postMethod.addParameter("tradNo","ES0003");  // 要改 03放款  06还款
     postMethod.addParameter("type","0002");//0002
     postMethod.addParameter("data",xmlds);
     postMethod.addParameter("mac",mac);
 
     }catch (Exception e) {
             e.printStackTrace();
     }
 
     String bankResultValue = "";
     // 获取执行结果
     int status = 0;
     try {
         status = httpClient.executeMethod(postMethod);
     } catch (HttpException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }
 
     if(status != 200){
         System.out.println("连接失败");
     }else{
         //连接成功,获取response中的xml数据
 
         try {
             bankResultValue = new String(postMethod.getResponseBody(), "UTF-8");
             System.out.println("返回结果:"+bankResultValue);
//             System.out.println("第"+args[0]+"次返回结果:"+bankResultValue);
 
         } catch (UnsupportedEncodingException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
 
 
 
//   return bankResultValue;
//
//
     }
 
return 0;
}//end of action
 
 
public int end() throws Throwable {
return 0;
}//end of end
}
 
 

Loadrunner执行Java脚本的更多相关文章

  1. Spring项目中执行Java脚本

    问题:在已搭建好Spring环境的JavaWeb项目中,怎么运行一段Java代码,执行一些类似脚本的功能. 情况一:测试局部功能,不需要依赖Spring框架的. 方法:IDEA中新建一个类,编写主函数 ...

  2. 执行Java脚本firefox启动成功,不运行test方法,且提示NullPointerException

    在ideal中新建maven项目,将录制好的Java脚本文件,直接复制到项目中,添加相关的依赖脚本. 代码不报错之后,运行录制好的Java脚本,启动了firefox之后,不执行test方法,报错Nul ...

  3. Jmeter 执行java脚本结束时提示:he JVM should have exitted but did not

    使用jmeter执行java协议测试结束时会提示:he JVM should have exitted but did not ,jmeter2.11以后的可以 通过设置:      jmeteren ...

  4. Jmeter执行java脚本结束时提示:The JVM should have exited but did not.

    使用jmeter对dubbo进行压测时,需要使用jmeter的sampler里的java请求 使用./jmeter.sh -n -t test.jmx -l test.jmx -o -e test后台 ...

  5. Windows自动执行java脚本

    1.打包 idea 1).File-Project Structure-Arifacts 2). 3). 4). 5). 目录位于  根目录/out\artifacts\ 2.Windows定时任务 ...

  6. 老李分享:loadrunner的java user脚本开发

    老李分享:loadrunner的java user脚本开发 poptest在性能测试loadrunner的课程里,以web协议为主,同时也讲解其他协议的脚本开发,对于一个性能测试工程师需要掌握一个以上 ...

  7. Java SSH远程执行Shell脚本实现(转)

    前言 此程序需要ganymed-ssh2-build210.jar包(下载地址:http://www.ganymed.ethz.ch/ssh2/) 为了调试方便,可以将\ganymed-ssh2-bu ...

  8. Java 执行 SQL 脚本文件

    转自:http://blog.csdn.net/hongmin118/article/details/4588941 package com.unmi.db; import java.io.FileI ...

  9. sh脚本执行Java程序

    1.不引用Jar包或者资源文件夹 最简单的程序Hello World. 首先创建Hello.java public class Hello { public static void main(Stri ...

随机推荐

  1. Web前端新人笔记之CSS结构和层叠

    上一篇文章介绍了如何利用CSS选择器为元素应用各种丰富的样式,每个合法的文档都会生成一个结构树,了解这一点,就能根据元素的祖先.属性.兄弟等元素穿件选择器选择元素. 本篇文章将讨论3中机制之间的关系: ...

  2. SQL Server 2012 读写分离设置

    SQL Server 2012 读写分离设置 - AlsoIn 时间 2014-07-21 17:38:00  博客园-所有随笔区 原文  http://www.cnblogs.com/also/p/ ...

  3. call(this)引起的对闭包的重新理解

    call(this)引起的对闭包的重新理解.md 变量的作用域 全局变量局部变量 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. 函数外部无法读取函数内的局部变量. 函数内部 ...

  4. MySQL基础学习之数据查询

    一般查询 SELECT * FROM 表名 SELECT 属性名  FROM  表名 条件查询 SELECT 属性名 FROM 表名  WHERE 条件表达式 查询数据值1,数据值2的表单 SELEC ...

  5. JS验证用户真实姓名

    发布:thebaby   来源:脚本学堂     [大 中 小] 本文分享下,使用js代码验证用户真实姓名的方法,有需要的朋友不妨参考下,希望对你有一定的帮助. 原文地址:http://www.jbx ...

  6. oracle11g 表或视图连接时有可能发生的问题

    ---------背景--------- oracle11g 有2个视图,都有一个id字段,且id字段的值相同 例如:id都有 A01 ,A02 ,A03 --------问题--------- 把2 ...

  7. centos不能挂在ntfs

    root@s 下载]# mount /dev/sdb1 /mnt mount: unknown filesystem type 'ntfs' wget http://www.tuxera.com/co ...

  8. BZOJ Tyvj 1729 文艺平衡树

    Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3  ...

  9. CODEVS 2994 超级弹珠

    题目描述 Description 奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩蛋游戏设备.Bessie把她们玩游戏的草坪划成了N*N单位的矩阵,同时列出了她的K个对手在草地上的位置 ...

  10. iOS 页面间传值 之 单例传值 , block 传值

    ios 页面间传值有许多,前边已经分享过属性传值和代理传值,今天主要说一下单例传值和 block 传值 单例传值:单例模式一种常用的开发的模式,单例因为在整个程序中无论在何时初始化对象,获取到的都是同 ...