用LoadRunner连接EJB 2 进行测试

前几天用LoadRunner7.8连接EJB进行了BOSS开户的测试,其实也就是看着帮助一步步走下来。现在简单做一下记录。


用LoadRunner连接EJB 2 进行测试

柏松 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做压力测试就可以了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注