最近使用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. 同时可以自己建方法并实现,这样就可以直接用自己的方法了。