本主题包括测试 CORBA(公共对象请求代理体系结构)服务器的基本步骤和操作。有几种方法可以确保 CORBA 服务器功能正常;下面是一些示例和简单的练习,有助于更好地理解 SOAtest 如何简化服务器测试过程。通过不同的场景展示如何将 SOAtest 集成到非 SOAP 服务器的测试中。
章节目录:
场景 1:CORBA 客户端还没有实现
注意:如果已经创建了 Java 客户端,则继续实现场景 2。
若要使用服务器提供的接口/IDL,则需要在客户端生成 java 桩函数。在本节中,我们将介绍从 IDL 到 Java 的简单转换。
<INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/build/examples/CORBA
目录中包含了用于下面练习的 Calculator.idl 示例文件。要使用 IDLJ,请确保安装了 J2SDK,并已设置 PATH 变量,以便您可以从任何目录访问 J2SDK 的可执行文件。
若要使用 IDLJ 将 IDL 转换为 Java,请完成以下步骤:
打开命令提示符并转到包含 Calculator.idl 文件的
<INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/build/examples/CORBA
目录。运行以下命令自动生成拥有正确路径的软件包(以 Windows 为例):
idlj –pkgTranslate Persistent examples.CORBA –fall Calculator.idl
运行以下命令编译 java 文件:
javac ../examples/CORBA/*.java.
现在您拥有了与服务器通信所需的必要类文件。请继续实现场景 2,连接 SOAtest 与现有 java 客户端。
有关 IDLJ 的更多信息,请参阅 Oracle Java 文档。
场景 2:连接 SOAtest 与现有 Java 客户端
在本节中,我们将演示如何使用 SOAtest 的扩展工具从 CORBA 服务器调用 Java 服务。
- 通过右键点击测试套件并选择添加测试> 标准测试> 新建工具> 扩展创建扩展工具。
选择扩展工具节点,在右侧 GUI 面板中语言菜单选择合适的语言以访问 CORBA Java 客户端。
例如,对于 Jython,您可以在文本框中输入如下内容:# 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)
- 在文本字段中点击右键,然后选择评估,确保语法正确。如果语法正确,则函数名称应该自动填充到方法菜单:
foo()
。 - 右键点击外部工具节点,然后选择添加返回值输出> 现有输出> 编辑以显示测试执行后的返回值。
- 运行测试。如果测试成功,返回值应该出现在正确的 GUI 面板。
- 如果测试失败,则在编辑屏幕上返回一个空指针异常;检查 CORBA 服务器,确保服务器正在指定的端口上监听,并且服务已经启动并运行。
场景 3:将 SOAtest 与现有非 Java 客户端相联系
在本节中,我们将演示如何使用 SOAtest 外部工具从 CORBA 服务器调用非 Java 服务。
- 通过右键点击测试套件并选择添加测试> 标准测试> 新建工具> 外部工具创建外部工具。
- 选择外部工具并将其名称更改为 CORBA 客户端。
- 点击浏览并选择 CORBA 客户端可执行文件的路径。
- 如果 CORBA 客户端接受参数,则通过点击添加来添加相应参数。将生成一个新行,允许用户输入与可执行文件关联的标志和参数。
- 双击生成的行以输入标志和参数。将打开一个新的对话框;相应地更改名称和参数。
- 如果希望使用参数化值,请在值菜单中选择参数化,在变量菜单中选择变量名,然后点击 OK。
- 在右侧 GUI 面板中启用保留输出以保存每次测试运行后返回的值。
- 右键点击外部工具节点,然后选择添加返回值输出> 现有输出> 编辑以显示测试执行后的返回值。
- 运行测试。如果测试成功,返回值应该出现在右侧 GUI 面板。
- 如果测试失败,则在编辑屏幕上返回一个空指针异常;检查 CORBA 服务器,确保服务器正在指定的端口上监听,并且服务已经启动并运行。