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. lucene 4.0学习

    一:官方文件 http://lucene.apache.org/core/4_0_0/ ps:网上参考文章:http://www.cnblogs.com/xing901022/p/3933675.ht ...

  2. python(二)基础

    1.lambda表达式(一般格式为冒号前边是参数冒号后边是返回值) 单参数: 多参数: 我们如果实现一个普通的filter过滤函数过滤掉偶数: 而我们如果用lambda表达式就很简便: 2.递归 普通 ...

  3. 一次Oracle数据迁移

    目标数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 源数据库  : Oracle Database 11g Enterpri ...

  4. Network boot from AMD Am79C970A

    用虚拟机安装winxp系统,出现错误信息如下: Network boot from AMD Am79C970A Copright (c)2003-2005 Vmware, Inc. Copright ...

  5. 一步步学习ASP.NET MVC3 (5)——View从Action中获得数据

    请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们把Razor的模板技术给大家介绍了一下,当然模板中还有其他的知识点,这个以后我们还会继续讲解.本章我们主要讨论 ...

  6. spring IOC源码分析(2)

    refresh这个方法包含了整个BeanFactory初始化的过程,定位资源由obtainFreshBeanFactory()来完成, protected ConfigurableListableBe ...

  7. delphi xe5 android listbox的 TMetropolisUIListBoxItem

    listbox实现以下效果: \ 关键代码,采用数据集的方式 type PpatientData=^RpatientData; RpatientData= record patient_id:stri ...

  8. Design Tutorial: Inverse the Problem

    Codeforces Round #270 D:http://codeforces.com/contest/472/problem/D 题意:给以一张图,用邻接矩阵表示,现在问你这张图能不能够是一棵树 ...

  9. MongoDB实战指南(七):MongoDB复制集之复制集工作机制

    http://www.cnblogs.com/longshiyVip/p/5097336.html 概述了复制集,整体上对复制集有了个概念,但是复制集最重要的功能之——自动故障转移是怎么实现的呢?数据 ...

  10. 环信_EaseUI 使用指南

    EaseUI 使用指南 简介 EaseUI 封装了 IM 功能常用的控件(如聊天会话.会话列表.联系人列表).旨在帮助开发者快速集成环信 SDK. 源码地址: EaseUI:https://githu ...