loadrunner之java协议脚本编写

阅读更多

1.导入相对应的jar包

2.使用java反编译工具反编译jar包,了解其中的业务流程,选择需要的service以及方法。以下以productWrapService服务为例。

3.在saf框架的配置文件中注册:

 



	
        
 				
 				
 				
 


 4.编写loadrunner脚本:

 

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

import lrapi.lr;

import com.xxx.catagory.pbim.pbia.dubbo.service.ProductWrapService;
import com.xxx.catagory.pbim.pbia.dubbo.model.ProductSort;
import java.util.*;
import java.lang.*;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Actions
{
        ProductWrapService r = null;
	public int init() throws Throwable {
	    		int i = 0;
                ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-dubbo.xml");//读环境配置XML,并注册SAF和redis认证
		r = (ProductWrapService)context.getBean("productWrapService",ProductWrapService.class); 
		return 0;
	}//end of init


	public int action() throws Throwable {
		Integer skuIdInteger;
		Set cids = new HashSet();
		String str=lr.eval_string("");
		skuIdInteger = Integer.valueOf(str);
		cids.add(skuIdInteger);
		
		List retList = new ArrayList();
		ProductSort ps = new ProductSort();
		lr.start_transaction("productWrapService_queryProductSort");

		try
		{
		    retList = r.queryProductSort(cids);
                    for (Iterator i$ = retList.iterator(); i$.hasNext(); ) {
			ps = (ProductSort)i$.next();
			lr.output_message("+++++++++" + ps.getName());
		    }
		    //lr.output_message("++++++++" + retList);
		    if (retList != null) {
			lr.end_transaction("productWrapService_queryProductSort", lr.PASS);
		    }
		    else {
			lr.end_transaction("productWrapService_queryProductSort", lr.FAIL);
		    }
			
		}
		catch(Exception e) {
		    e.printStackTrace();
		}
		return 0;
	}//end of action


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

 

 

 

你可能感兴趣的:(loadrunner,java脚本,saf)