前几天用LoadRunner7.8连接EJB进行了BOSS开户的测试,其实也就是看着
帮助一步步走下来。现在简单做一下记录。
用LoadRunner连接EJB进行测试
柏松 bsexe◎sina.com 2004-12-20 14:55
前几天用LoadRunner7.8连接EJB进行了BOSS开户的测试,其实也就是看着
帮助一步步走下来。现在简单做一下记录。
1、运行EJB Detector。
在LoadRunner的安装目录下找到ejbcomponent/ejbdetector.jar,解压到
一个目录里,我的是C:/java/Detector。EJB Detector有两种运行方式,分别
是命令行方式和批处理文件方式,我用的后者。打开env.cmd, 按你环境的配
置修改如下:
set JAVA_HOME=C:/java/JDK(JDK的路径)
set DETECTOR_INS_DIR=C:/java/Detector(EJB Detector安装路径)
set APP_SERVER_DRIVE="C:/java/jboss"(服务器安装路径)
set APP_SERVER_ROOT="C:/java/jboss/server/uboss/deploy"(程序部署路
径)
set EJB_DIR_LIST="C:/java/jboss/server/uboss/deploy"(程序部署路径)
保存后运行EJB_Detector.cmd,就能看到发现了若干个EJB。
2、生成脚本。
打开VuGen新建一个EJB的脚本。建立后会弹出一个窗口填些参数,Host填
服务器名,我在本机就是localhost,Initial Context Factory和Provider
URL在代码中找,我的分别是org.jnp.interfaces.NamingContextFactory和
jnp://localhost:1099。然后在最下面的下拉框中选择你要测试的EJB,就是从
上一步EJB Detector的查找结果中选择,最后点击Generate。完成后VuGen会自
动生成测试代码,生成的代码还需要修改一处,就是JNDI名,也就是这行:
Object homeobj = _context.lookup
("ejb/uboss/sale/PortalServiceBean");
lookup的参数就是你这个EJB的JNDI名。这样代码就可以运行了,只是还没
有实现测试功能。
3、实现测试功能的代码。
因为我只测PortalServiceBean的register方法,所以删除了其他几个方法
的代码。最后代码如下:
public int action() {
// ------- Methods ------------
try {
lr.start_transaction("register");
CustomerDTO newCustormer = new CustomerDTO();
newCustormer.setLoginName("<LoginName>");
newCustormer.setParentId("111");
newCustormer.setPassword("1111");
newCustormer.setEmail("c@EJB.com");
newCustormer.setName("张三");
lr.output_message("ID号是:"+lr.eval_string("<LoginName>"));
//lr.rendezvous("Register");
_portalservice.register(newCustormer);
lr.end_transaction("register", lr.AUTO);
} catch (Throwable t) {
lr.end_transaction("register", lr.FAIL);
t.printStackTrace();
}
return 0;
}
最后用Controller做压力测试就可以了。