loadrunner之java协议脚本编写

bloghongxiorg 2014-04-23

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

}