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. Eat that Frog

    Eat that Frog,中文翻译过来就是“吃掉那只青蛙”.不过这里并不是讨论怎么去吃青蛙,而是一种高效的方法. Eat that Frog是Brian Tracy写的一本书(推荐阅读).这是一个很 ...

  2. tomcat 192.168.1.110?不烦吗?

    最近做一个在线播放器,因为要用到网络服务器做在线播放,又不想直接在本地用tomcat做实验,因为没有真实感. so,手边两台电脑,同时连在局域网. 客户端,笔记本,ip1:192.168.1.101 ...

  3. WPF异步调用WCF服务

    wpf调用wcf时,第一次访问总耗时到达几秒,影响界面的用户体验,因此在wpf加载界面和加载数据时采用异步加载,即异步访问wcf服务, 由于是否采用异步加载和服务端无关,仅仅由客户端自己根据需要来选择 ...

  4. CRUD生成器DBuilder设计与实现

    源码位于github:https://github.com/lvyahui8/dbuilder.git .文中图片如果太小看不清楚,请右键点击“在新标签页中打开”即可看到原图 有兴趣还可以加QQ群交流 ...

  5. 关于window.location不跳转的问题

    今天在码代码的时候遇到个问题:html里采用onclick事件来实现window.location = url的跳转,在内嵌元素上又加上了href="javascrit:;"的属性 ...

  6. Chrome远程调试Android上Chrome的页面

    下载最新的google chrome canary 手机chrome开启usb网页调试,如图所示: 在终端运行 ? SHELL adb forward tcp:9222 localabstract:c ...

  7. Centos 6.2 32位机器安装新的JDK和Weblogic

    一.首先卸载自带的JDK 1.查看自带的java版本. root@admin]#java -version java version "1.6.0" OpenJDK Runtime ...

  8. java学习--抽象类与接口

    一.抽象 在使用抽象类时需要注意几点: 1.抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可. 2.抽象方法必须由子类来进行重写. 3.只要包含一个抽象方法的抽象类,该方 ...

  9. javascript editor

    http://www.jetbrains.com/webstorm/download/download_thanks.jsp?os=win

  10. PPTPD/L2TP/IPSec VPN一键安装包 For CentOS 6

    一.一键安装PPTPD VPN 本教程适用于Openv VPS.Xen VPS或者KVM VPS. 1.首先运行如下命令: cat /dev/net/tun 返回的必须是: cat: /dev/net ...