本主题包括测试 CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)服务器的基本步骤和操作。有几种方法可以确保 CORBA 服务器的正确功能;下面是一些示例和简单的练习,以帮助更好地理解 SOAtest 如何简化服务器测试过程。不同的场景将展示如何将 SOAtest 集成到非 SOAP 服务器的测试中。
本章包含:
场景 1:CORBA 客户机还没有实现
注意:如果已经创建了 Java 客户机,请继续场景 2。
若要使用服务器提供的接口/IDL,则需要在客户端生成 java 桩函数。在本节中,我们将介绍从 IDL 到 Java 的简单转换。
下面练习的示例 Calculator.idl 文件包括在 <SOAtest installation directory/<version>/eclipse/plugins/com.parasoft.xtest.libs.web_<version-date>/root/build/examples/CORBA
中。为了使用 IDLJ,请确保安装了 J2SDK,并设置 PATH
变量,以便你可以从任何目录访问 J2SDK 的可执行文件。
若要使用 IDLJ 将 IDL 转换为 Java,请完成以下步骤:
- 在命令提示符中,将当前目录更改为包含 Calculator.idl 的文件夹(在本例中
C:\Program Files\Parasoft\SOAtest\[SOAtest version number]\eclipse\plugins\com.parasoft.xtest.libs.web_9.6.0.20130917\root\build\examples\CORBA
) - 类型:“
idlj –pkgTranslate Persistent examples.CORBA –fall Calculator.idl
” 自动生成具有正确路径的包。 - 通过输入以下内容编译 java 文件:
javac/examples/CORBA/*.java
。
现在你拥有了与服务器通信所需的必要类文件。请继续场景 2,以便与现有 java 客户机进行 SOAtest 接口。
有关 IDLJ 的更多信息,请参阅 Oracle Java 文档。
场景 2:将 SOAtest 与现有 Java 客户机相联系
在本节中,我们将演示如何使用 SOAtest 的扩展工具从 CORBA 服务器调用 Java 服务。
- 通过右键单击测试套件并选择 Add Test> Standard Test> New Tool> Extension创建扩展工具。
选择扩展工具节点,在右侧 GUI 面板中 Language 下拉菜单选择合适的语言以访问 CORBA Java 客户端。
例如,对于 Jython,你可以在 Text 框中输入类似如下内容:# In our example, examples.CORBA.PersistentClient is our CORBA Java Client from examples.CORBA import * from java.lang import * def foo(input, context): # Here we are Initializing the client by providing location of the server, # port number, and the service name client = PersistentClient("goldfish.parasoft.com", 2222, "GoldfishCorbaServer") # Here we are making the actual Method Invocation onto the Service "add(x,y)" return client.add(3, 5)
- 在 Text 字段中右键单击,然后从快捷菜单选择 Evaluate 以保证语法是正确的。如果语法正确,则功能名称应该自动填充到 Method 下拉菜单:
foo()
。 - 右键单击扩展工具节点,然后选择 Add Return Value Output> Existing Output> Edit 以显示测试执行后的返回值。
- 运行测试。如果测试成功,返回值应该出现在正确的 GUI 面板。
- 如果测试失败,则在编辑屏幕上返回一个空指针异常;检查 CORBA 服务器,确保服务器正在指定的端口上监听,并且服务已经启动并运行。
场景 3:将 SOAtest 与现有非 Java 客户机相联系
在本节中,我们将演示如何使用 SOAtest 内部工具从 CORBA 服务器调用非 Java 服务。
- 通过右键单击测试套件并选择 Add Test> Standard Test> New Tool> External Tool创建内部工具。
- 选择内部工具并将其名称更改为 CORBA Client。
- 单击 Browse 按钮,并选择 CORBA 客户端可执行的路径。
- 如果 CORBA 客户机接受参数,则通过单击 ADD 按钮添加每个参数。将生成一个新行,允许用户输入与可执行文件关联的标志和参数。
- 双击生成的行以输入标志和参数。将弹出一个新的对话框;相应地更改名称和参数。
- 如果希望使用参数化值,请在 Value 下拉菜单中选择 Parameterized ,然后在 Variable 下拉菜单中选择变量名,然后单击 OK。
- 在右侧 GUI 面板中选择 Keep output 复选框以保存每次测试运行后返回的值。
- 右键单击内部工具节点,然后选择 Add Return Value Output> Existing Output> Edit 以显示测试执行后的返回值。
- 运行测试。如果测试成功,返回值应该出现在右侧 GUI 面板。
- 如果测试失败,则在编辑屏幕上返回一个空指针异常;检查 CORBA 服务器,确保服务器正在指定的端口上监听,并且服务已经启动并运行。