loadrunner之java协议脚本编写




loadrunner java脚本 saf 

1.导入相对应的jar包

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

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

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:saf="http://code.xx.com/schema/saf"  
  5.     xmlns:dubbo="http://code.xx.com/schema/dubbo"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  7.     http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
  8.     http://code.xx.com/schema/saf http://code.xx.com/schema/saf/saf.xsd  
  9.     http://code.xxxx.com/schema/dubbo  
  10.     http://code.xxxx.com/schema/dubbo/dubbo.xsd"  
  11.     default-lazy-init="true">  
  12.       
  13.         <saf:registry address="jdZooKeeper://192.168.12.159:2181" />  
  14.                 <saf:reference  id="productWrapService"  interface="xx.xx.xx.pbim.pbia.dubbo.service.ProductWrapService" group="xxxx" version="1.0"  timeout="30000"   />  
  15.                 <saf:reference  id="bookVideoService"  interface="xx.xx.xx.pbim.pbia.dubbo.service.BookVideoService" group="xxxx" version="1.0"  timeout="30000"   />  
  16.                 <saf:reference  id="attributeService"  interface="xx.xx.xx.pbim.pbia.dubbo.service.AttributeService" group="xxxx" version="1.0"  timeout="30000"   />  
  17.  </beans>  

 4.编写loadrunner脚本:

 

Java代码   收藏代码
  1. /* 
  2.  * LoadRunner Java script. (Build: _build_number_) 
  3.  *  
  4.  * Script Description:  
  5.  *                      
  6.  */  
  7.   
  8. import lrapi.lr;  
  9.   
  10. import com.xxx.catagory.pbim.pbia.dubbo.service.ProductWrapService;  
  11. import com.xxx.catagory.pbim.pbia.dubbo.model.ProductSort;  
  12. import java.util.*;  
  13. import java.lang.*;  
  14. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  15.   
  16. public class Actions  
  17. {  
  18.         ProductWrapService r = null;  
  19.     public int init() throws Throwable {  
  20.                 int i = 0;  
  21.                 ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-dubbo.xml");//读环境配置XML,并注册SAF和redis认证  
  22.         r = (ProductWrapService)context.getBean("productWrapService",ProductWrapService.class);   
  23.         return 0;  
  24.     }//end of init  
  25.   
  26.   
  27.     public int action() throws Throwable {  
  28.         Integer skuIdInteger;  
  29.         Set<Integer> cids = new HashSet<Integer>();  
  30.         String str=lr.eval_string("<P_sortid>");  
  31.         skuIdInteger = Integer.valueOf(str);  
  32.         cids.add(skuIdInteger);  
  33.           
  34.         List<ProductSort> retList = new ArrayList<ProductSort>();  
  35.         ProductSort ps = new ProductSort();  
  36.         lr.start_transaction("productWrapService_queryProductSort");  
  37.   
  38.         try  
  39.         {  
  40.             retList = r.queryProductSort(cids);  
  41.                     for (Iterator i$ = retList.iterator(); i$.hasNext(); ) {  
  42.             ps = (ProductSort)i$.next();  
  43.             lr.output_message("+++++++++" + ps.getName());  
  44.             }  
  45.             //lr.output_message("++++++++" + retList);  
  46.             if (retList != null) {  
  47.             lr.end_transaction("productWrapService_queryProductSort", lr.PASS);  
  48.             }  
  49.             else {  
  50.             lr.end_transaction("productWrapService_queryProductSort", lr.FAIL);  
  51.             }  
  52.               
  53.         }  
  54.         catch(Exception e) {  
  55.             e.printStackTrace();  
  56.         }  
  57.         return 0;  
  58.     }//end of action  
  59.   
  60.   
  61.     public int end() throws Throwable {  
  62.         return 0;  
  63.     }//end of end  
  64. }  

 

你可能感兴趣的:(loadrunner)