loadrunner之java协议脚本编写
loadrunnerjava脚本saf
1.导入相对应的jar包
2.使用java反编译工具反编译jar包,了解其中的业务流程,选择需要的service以及方法。以下以productWrapService服务为例。
3.在saf框架的配置文件中注册:
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:saf="http://code.xx.com/schema/saf"
xmlns:dubbo="http://code.xx.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://code.xx.com/schema/safhttp://code.xx.com/schema/saf/saf.xsd
http://code.xxxx.com/schema/dubbo
http://code.xxxx.com/schema/dubbo/dubbo.xsd"
default-lazy-init="true">
<saf:registryaddress="jdZooKeeper://192.168.12.159:2181"/>
<saf:referenceid="productWrapService"interface="xx.xx.xx.pbim.pbia.dubbo.service.ProductWrapService"group="xxxx"version="1.0"timeout="30000"/>
<saf:referenceid="bookVideoService"interface="xx.xx.xx.pbim.pbia.dubbo.service.BookVideoService"group="xxxx"version="1.0"timeout="30000"/>
<saf:referenceid="attributeService"interface="xx.xx.xx.pbim.pbia.dubbo.service.AttributeService"group="xxxx"version="1.0"timeout="30000"/>
</beans>
4.编写loadrunner脚本:
Java代码
/*
*LoadRunnerJavascript.(Build:_build_number_)
*
*ScriptDescription:
*
*/
importlrapi.lr;
importcom.xxx.catagory.pbim.pbia.dubbo.service.ProductWrapService;
importcom.xxx.catagory.pbim.pbia.dubbo.model.ProductSort;
importjava.util.*;
importjava.lang.*;
importorg.springframework.context.support.ClassPathXmlApplicationContext;
publicclassActions
{
ProductWrapServicer=null;
publicintinit()throwsThrowable{
inti=0;
ClassPathXmlApplicationContextcontext=newClassPathXmlApplicationContext("applicationContext-dubbo.xml");//读环境配置XML,并注册SAF和redis认证
r=(ProductWrapService)context.getBean("productWrapService",ProductWrapService.class);
return0;
}//endofinit
publicintaction()throwsThrowable{
IntegerskuIdInteger;
Set<Integer>cids=newHashSet<Integer>();
Stringstr=lr.eval_string("<P_sortid>");
skuIdInteger=Integer.valueOf(str);
cids.add(skuIdInteger);
List<ProductSort>retList=newArrayList<ProductSort>();
ProductSortps=newProductSort();
lr.start_transaction("productWrapService_queryProductSort");
try
{
retList=r.queryProductSort(cids);
for(Iteratori$=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(Exceptione){
e.printStackTrace();
}
return0;
}//endofaction
publicintend()throwsThrowable{
return0;
}//endofend
}