一个基于HESSIAN协议的JAVA脚本实例

上一篇 / 下一篇  2015-05-27 17:11:45

/*
 * LoadRunner Java script. (Build: _build_number_)
 * 
 * Script. Description: 
 *                     
 */

import lrapi.lr;
import java.util.Date;
import java.math.BigDecimal;
import com.caucho.hessian.client.HessianProxyFactory;
import *****;//导入相关的类

public class Actions
{
    HessianProxyFactory factory = null;
    String  url="http://172.10.10.147:8001/nc-pay-hessian/soa/hessian/"+PaymentManageFacade.class.getName();
    PaymentManageFacade payFacade=null;
public int init() throws Throwable {
            factory=new HessianProxyFactory();
            try{
                payFacade=(PaymentManageFacade)factory.create(PaymentManageFacade.class,url);
            }catch(Exception e){
                e.printStackTrace();
            }
return 0;
}//end of init


public int action() throws Throwable {


lr.start_transaction("ncpay_create_order");
          PaymentRequestDTO reqDTO = new PaymentRequestDTO();   
    reqDTO.setBizType(1L);   
    reqDTO.setBizOrderNum("BIZ<vuserid>"+System.nanoTime());   
    reqDTO.setBizOrderDate(new Date());   
    reqDTO.setBankRuleId(1L);   
    reqDTO.setIndustryCode("LoadTest<num>");   
    reqDTO.setPayToolId("PTL<vuserid>");   
    reqDTO.setTerminalId("TML<vuserid><num>");      
    reqDTO.setMerchantNo("YB010<num>");   
    reqDTO.setMerchantName("NC-TEST");
 String timems=String.valueOf(System.currentTimeMillis());
    reqDTO.setRequestNo("RQN<vuserid>"+timems);   
    reqDTO.setOrderAmount(new BigDecimal(1.01));   
    reqDTO.setOrderType(OrderTypeEnum.SALE);   
    reqDTO.setCardInfoType(CardInfoTypeEnum.TEMP);
    reqDTO.setCardInfoId(1L); 
    reqDTO.setMemberNO("5012<num>");   
    reqDTO.setMemberType(MemberTypeEnum.JOINLY);   
    reqDTO.setProductName("游戏-性能测试");   
    reqDTO.setRegionCode("REGION<code>");  
 String res=null;
 String rderId=null;
    try{    
     PaymentResponseDTO respDTO = payFacade.createPayment(reqDTO);    
     //System.out.println(JSONUtils.toJsonString(respDTO));    
     res=JSONUtils.toJsonString(respDTO);
     int lift=res.indexOf("\",\"needItem");
     orderId=res.substring(15,lift);
    }catch (Exception e) {   
     e.printStackTrace();    
    }
 if(orderId==null ){
     lr.error_message(res);
     lr.end_transaction("ncpay_create_order", lr.FAIL);
 }else{
     lr.end_transaction("ncpay_create_order", lr.PASS);
 }

        
lr.start_transaction("ncpay_confirm_pay");

 PayConfirmRequestDTO cfp = new PayConfirmRequestDTO();
 cfp.setPayOrderId(orderId);
 cfp.setSmsCode("74586");
 cfp.setTmpCardId(0L);
 String res1=null;
 try {
      PayQueryResponseDTO rsp = payFacade.synConfirmPay(cfp);
      System.out.println(JSONUtils.toJsonString(rsp));
      res1=JSONUtils.toJsonString(rsp);
 } catch (Exception e) {
     e.printStackTrace();
 }

 String status="status\":\"";
 String rderAmount="\",\"orderAmount";

 int left=res1.indexOf(status)+9;
 int right=res1.indexOf(orderAmount);
 String sub=res1.substring(left,right);

 if(sub.equals("SUCCESS")){
     lr.end_transaction("ncpay_confirm_pay", lr.PASS);
 }else{
     lr.error_message(res1);
     lr.end_transaction("ncpay_confirm_pay", lr.FAIL);
 }

return 0;
}//end of action


public int end() throws Throwable {
return 0;
}//end of end
}


TAG: JAVA脚本

 

评分:0

我来说两句

日历

« 2024-03-18  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

我的存档

数据统计

  • 访问量: 1969
  • 日志数: 2
  • 建立时间: 2015-05-25
  • 更新时间: 2015-05-27

RSS订阅

Open Toolbar