本主题包括测试 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,请完成以下步骤:

  1. 在命令提示符中,将当前目录更改为包含 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
  2. 类型:“idlj –pkgTranslate Persistent examples.CORBA –fall Calculator.idl” 自动生成具有正确路径的包。
  3. 通过输入以下内容编译 java 文件: javac/examples/CORBA/*.java

现在你拥有了与服务器通信所需的必要类文件。请继续场景 2,以便与现有 java 客户机进行 SOAtest 接口。

有关 IDLJ 的更多信息,请参阅 Oracle Java 文档。

场景 2:将 SOAtest 与现有 Java 客户机相联系

在本节中,我们将演示如何使用 SOAtest 的扩展工具从 CORBA 服务器调用 Java 服务。

  1. 通过右键单击测试套件并选择 Add Test> Standard Test> New Tool> Extension创建扩展工具。
  2. 选择扩展工具节点,在右侧 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)
  3. Text 字段中右键单击,然后从快捷菜单选择 Evaluate 以保证语法是正确的。如果语法正确,则功能名称应该自动填充到 Method 下拉菜单: foo()
  4. 右键单击扩展工具节点,然后选择 Add Return Value Output> Existing Output> Edit 以显示测试执行后的返回值。
  5. 运行测试。如果测试成功,返回值应该出现在正确的 GUI 面板。
  6. 如果测试失败,则在编辑屏幕上返回一个空指针异常;检查 CORBA 服务器,确保服务器正在指定的端口上监听,并且服务已经启动并运行。

场景 3:将 SOAtest 与现有非 Java 客户机相联系

在本节中,我们将演示如何使用 SOAtest 内部工具从 CORBA 服务器调用非 Java 服务。

  1. 通过右键单击测试套件并选择 Add Test> Standard Test> New Tool> External Tool创建内部工具。
  2. 选择内部工具并将其名称更改为 CORBA Client
  3. 单击 Browse 按钮,并选择 CORBA 客户端可执行的路径。
  4. 如果 CORBA 客户机接受参数,则通过单击 ADD 按钮添加每个参数。将生成一个新行,允许用户输入与可执行文件关联的标志和参数。
  5. 双击生成的行以输入标志和参数。将弹出一个新的对话框;相应地更改名称和参数。
  6. 如果希望使用参数化值,请在 Value 下拉菜单中选择 Parameterized ,然后在 Variable 下拉菜单中选择变量名,然后单击 OK
  7. 在右侧 GUI 面板中选择 Keep output 复选框以保存每次测试运行后返回的值。
  8. 右键单击内部工具节点,然后选择 Add Return Value Output> Existing Output> Edit 以显示测试执行后的返回值。
  9. 运行测试。如果测试成功,返回值应该出现在右侧 GUI 面板。
  10. 如果测试失败,则在编辑屏幕上返回一个空指针异常;检查 CORBA 服务器,确保服务器正在指定的端口上监听,并且服务已经启动并运行。
  • No labels