最近使用LoadRunner进行java脚本的性能测试,网上针对java脚本的测试方法与案例比较少,经过艰苦的探索与摸索,最终有所收获。具体方法如下:
1. 新建java Vuer协议的测试脚本,软件自动生成脚本框架,init方法用来实现服务器链接等一次性操作,end方法则是释放链接等结束操作,Action方法是关键,将实现事物的相关操作。
2. 加入相关的package。
import lrapi.*;
import java.rmi.Naming;
import java.text.DateFormat;
import java.util.*;
import com.app.biz.ac.impl.ApplicationControllerBean;
import com.app.biz.ac.impl.ApplicationControllerHome;
import com.app.biz.ac.impl.ApplicationControllerRemote;
import com.app.biz.service.BusinessServiceException;
import com.app.dto.*;
import com.app.lwc.core.beans.BeansException;
3. 实现init方法,获得jndi上下文
public int init(){
DummyClassLoader.setContextClassLoader();
com.app.biz.ac.impl.ApplicationControllerHome home= null;
try{
//get the JNDI Initial Context
java.util.Properties p = new java.util.Properties();
p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
p.put(javax.naming.Context.PROVIDER_URL,"t3://10.8.35.133:43220");
p.put(javax.naming.Context.SECURITY_PRINCIPAL,"V_USERMANAGER_GROUP_TESTUM_OO1");
p.put(javax.naming.Context.SECURITY_CREDENTIALS, "K6d4Qg9d");
javax.naming.InitialContext ic = new javax.naming.InitialContext(p);
//lookeup Home Interface in the JNDI context and narrow it
Object homeobj = ic.lookup("com/app/biz/ac/impl/ApplicationControllerBean");
home = (com.app.biz.ac.impl.ApplicationControllerHome)javax.rmi.PortableRemoteObject.narrow(homeobj,com.app.biz.ac.impl.ApplicationControllerHome.class);
}catch (javax.naming.NamingException e){
e.printStackTrace();
}
//create ApplicationControllerBean instance
try{
lr.start_transaction("appctrlhome_create");
remote=home.create();
lr.end_transaction("appctrlhome_create",lr.AUTO);
}catch(Throwable t){
lr.end_transaction("appctrlhome_create",lr.FAIL);
t.printStackTrace();
}
return 0;
}//end of init
4. 在Action方法中实现要完成的事物,end方法中可以不用填写。
5. 同时可以自己建方法并实现,这样就可以直接用自己的方法了。