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. 解决ie8下h5元素兼容性的问题

    HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. HTML5的新标签元素有: <header&g ...

  2. rm排除指定文件或指定文件夹下文件

    3.方法3,当前文件夹中结合使用grep和xargs来处理文件名: ls | grep -v keep | xargs rm #删除keep文件之外的所有文件 说明: ls先得到当前的所有文件和文件夹 ...

  3. Python设计模式——观察者模式

    需求:员工上班在偷偷看股票,拜托前台一旦老板进来,就通知他们,让他们停止看股票. 这里有两类人,一类是观察者,即员工,一类是通知者,即前台,员工在观察前台的状态,前台负责通知员工最新的动态. #enc ...

  4. ASP.NET 学习小记 -- “迷你”MVC实现(2)

    Controller的激活 ASP.NET MVC的URL路由系统通过注册的路由表对HTTO请求进行解析从而得到一个用户封装路由数据的RouteData对象,而这个过程是通过自定义的UrlRoutin ...

  5. 2014年度辛星css教程夏季版第二节

    第一节我们简介了一下CSS的工作流程,我相信读者会有一个大体的认识,那么接下来我们将会深入的研究一下CSS的细节问题,这些问题的涉及将会使我们的工作更加完善. *************注释***** ...

  6. C#<热血传奇>服务端源代码再次给力更新

    前段时间一直在忙公司项目,最近抽点空稍微把部分代码重新整理一下(代码太久没碰很多地方都忘记了 囧~~~) 此次还是更新服务端,并修正上一版里面存在的很多指针 异常BUG...  (代码比较烂,还请各位 ...

  7. Codeforces Round #327 div2

    Problem_A(591A): 题意: 有一段长度为l的路,两个人分别在两个端点,1, l. 现在已知每个人的速度为p,q. 求第一个人(初始位置在1)在他们第二次相遇的时候的位置. 当他们相遇的时 ...

  8. 在asp.net中如何自己编写highcharts图表导出到自己的服务器上来

    1.准备工作:网上下载highcharts导出的关键dll.      1).Svg.dll:因为highcharts的格式其实就是一个xml,采用svg的方式画图:      2).itextsha ...

  9. CentOS PPTP配置LNMP+PPTP+FreeRADIUS+DaloRADIUS+流量控制

    折腾了好几天,查阅了很多资料,终于搞定了,泪牛满面,下面记录详细操作过程!注:测试环境为CENTOS5.8 x86 安装PPTP 直接使用赵蓉的PPTP一键安装包即可 wget http://dl.z ...

  10. java.io.IOException: Cannot run program "bash": error=12, Cannot allocate memory

    java.io.IOException: Cannot run program , Cannot allocate memory 云服务器运行nutch报出的异常: 解决方案: http://daim ...