本主题介绍如何配置和应用 webMethods 工具,它允许您将 BrokerEvent 对象发布并发送到 Software AG webMethos Broker,以及订阅事件和调用本地 webMethods 集成服务器服务。章节目录:

使用代理

配置步骤根据您希望使用的执行模式(发布、订阅、请求/回复)而异。 

向 classpath 添加所需的 Jar 文件 

总是需要将以下 jar 文件添加到 SOAtest classpath 中:

  • wm-brokerclient.jar
  • wm-g11nutils.jar

这些 jar 文件可以在 [webmethods install dir]/common/lib/ 下找到。更多详情,请参阅 webMethods Broker Client Java API Programmer's Guide> Getting Started> Using the webMethods Broker Java API。

在某些情况下,还需要 [webmethods install dir]/common/lib/ext/enttoolkit.jar 文件。

若要将这些 jar 文件添加到 SOAtest classpath,请完成以下操作:

  1. 选择 Parasoft> 首选项
  2. 打开 Parasoft> 系统属性页面。
  3. 点击添加 JARs 按钮,选择需要添加的 JAR 文件。

使用发布执行模式

若要配置 webMethods 工具以发布 BrokerEvent 对象,请完成以下内容:

  1. 打开工具配置面板。
  2. 打开工具设置选项卡。
  3. 如下指定工具设置:
    1. webMethods 中,选择代理
    2. 执行模式中,选择发布
    3. 主机、代理名称、客户端组客户端 ID 字段中,指定连接到代理的设置。
    4. App 名称字段中,输入想要用来标识应用程序的任何名称(SOAtest)。
    5. 点击刷新。然后事件类型菜单将填充代理上可用的事件类型。
    6. (可选)在订阅过滤器中,指定过滤器字符串,以便仅检索具有所需字段值的事件。例如,您可以使用像
      my_Strin_field="some value" and my_int_value < 5
      之类的表达式。有关过滤器字符串语法的详细信息,请参阅 webMethods Broker Client Java API Programmer's Guide 的“Using Event Filters”一节。

    7. 事件类型中,选择要发布到的事件类型。
    8. 如果需要,在超时区域,定制超时周期和超时条件。
      • 如果选择了仅当发生超时测试才通过选项,那么如果以指定的事件类型接收代理事件,则该工具将失败。这对于订阅错误事件类型和确保没有错误事件类型作为测试场景的一部分发布而言非常有用。
  4. 打开输入选项卡。
  5. 使用可用控件指定要发布的 BrokerEvent 对象。
    • 可用的选项(表单 XML、字面量 XML、脚本化、表单输入)和相关控件与 SOAP 客户端工具和其他消息工具可用的选项相同。详情请参阅输入模式
    • 如果正在使用表单 XML、文本 XML 或表单输入,并希望生成默认输入模板,请点击刷新
    • 在脚本模式中,可以直接操作对象(比如,如果想通过使用 webMethods API(而不是 GUI 或 XML 表示形式)编写脚本来设置字段值,那么可以这样做。详情请参阅指定脚本输入扩展和脚本基础
    • 有关 BrokerEvent 对象的更多信息,请参阅 webMethods Broker Client Java API Programmer's Guide 中的 COM.activesw.api.client.BrokerEvent 文档。

在测试执行期间,SOAtest 通过调用代理客户端 Java API 并为其提供 BrokerEventobject 来发布事件。订阅该事件类型的任何应用程序都将接收 SOAtest 发布的事件。 

若要查看发布事件的 XML 表示形式,请使用通讯报文查看器工具,该工具自动链接到 webMethods 工具。注意,即使发送和接收了实际的 BrokerEvent 对象,查看器也使用 XML 表示。这使得阅读更容易,并允许您链接验证或处理内容的工具(例如比较工具或 XML 断言器工具)。 

使用订阅执行模式

若要配置 webMethods 工具以订阅 BrokerEvent 对象,请完成以下内容:

  1. 双击 webMethods 测试用例浏览器节点打开工具配置面板。
  2. 打开工具设置选项卡。
  3. 如下指定工具设置:
    1. webMethods 中,选择代理
    2. 执行模式中,选择订阅
    3. 主机、代理名称、客户端组客户端 ID 字段中,指定连接到代理的设置。
    4. App 名称字段中,输入想要用来标识应用程序的任何名称(SOAtest)。
    5. 点击刷新。然后事件类型菜单将填充代理上可用的事件类型。
    6. 事件类型中,选择要订阅到的事件类型。
       



在测试执行期间,SOAtest 开始监听发布到指定事件类型的事件。 

若要查看接收事件的 XML 表示形式,请使用通讯报文查看器工具,该工具自动链接到 webMethods 工具。注意,即使发送和接收了实际的 BrokerEvent 事件对象,查看器也使用 XML 表示。这使得阅读更容易,并允许您链接验证或处理内容的工具(例如比较工具或 XML 断言器工具)。 

使用请求/回复执行模式

若要配置 webMethods 工具来发送 BrokerEvent 对象,并在发送另一个对象之前等待回复,请完成以下内容:

  1. 双击 webMethods 测试用例浏览器节点打开工具配置面板。
  2. 打开工具设置选项卡。
  3. 如下指定工具设置:
    1. webMethods 中,选择代理
    2. 执行模式中,选择请求/回复
    3. 主机、代理名称、客户端组客户端 ID 字段中,指定连接到代理的设置。
    4. App 名称字段中,输入想要用来标识应用程序的任何名称(SOAtest)。
    5. 点击刷新。然后事件类型菜单将填充代理上可用的事件类型。
    6. 事件类型中,选择要发送到的事件类型。
  4. 打开输入选项卡。
  5. 使用可用控件指定要发送的 BrokerEvent 对象。
    • 可用的选项(表单 XML、字面量 XML、脚本化、表单输入)和相关控件与 SOAP 客户端工具和其他消息传递工具可用的选项相同。详情请参阅输入模式
    • 如果正在使用表单 XML、文本 XML 或表单输入,并希望生成默认输入模板,请点击刷新
    • 在脚本模式中,可以直接操作对象(比如,如果想通过使用 webMethods API(而不是 GUI 或 XML 表示形式)编写脚本来设置字段值,那么可以这样做。详情请参阅指定脚本输入扩展和脚本基础
    • 有关 BrokerEvent 对象的更多信息,请参阅 webMethods Broker Client Java API Programmer's Guide 中的 COM.activesw.api.client.BrokerEvent 文档。

在测试执行期间,SOAtest 通过调用代理客户端 Java API 并为其提供代理事件对象来发送请求,然后等待响应。 

若要查看请求和响应事件的 XML 表示形式,请使用通讯报文查看器工具,该工具自动链接到 webMethods 工具。注意,即使发送和接收了实际的 BrokerEvent 对象,查看器也使用 XML 表示。这使得阅读更容易,并允许您链接验证或处理内容的工具(例如比较工具或 XML 断言器工具)。 

指定脚本输入

当发布到代理或使用脚本输入执行请求/回复时,将向您的自定义方法传递两个参数。第一个参数是您在工具设置中指定的类型名称的 BrokerEvent 对象。您需要用所需的输入值填充这个对象(有关如何完成此操作的详细信息,请参阅 webMethods Broker Client Java API Programmer's Guide),然后返回它。第二个参数是一个测试工具 com.parasoft.api.Context 对象。 

下面是一个示例 Jython 脚本:

from com.parasoft.api import *
from COM.activesw.api.client import *
 
def configureBrokerEvent(event, context):
    event.setUCStringField("s", "something")
    event.setIntegerField("i", 1)
    event.setUCStringSeqField("sl", 0, BrokerEvent.ENTIRE_SEQUENCE, BrokerEvent.AUTO_SIZE, ["one", "two", "three"])
    return event

使用集成服务器

向 classpath 添加所需的 Jar 文件

需要将以下 jar 文件添加到 SOAtest classpath 中:

  • wm-isclient.jar

该文件可在 [webmethods install dir]/common/lib/wm-isclient.jar下找到。在某些情况下,还需要 [webmethods install dir]/common/lib/ext/enttoolkit.jar 文件。若要将 jar 文件添加到 SOAtest classpath 中,请完成以下操作:

  1. 选择 Parasoft> 首选项
  2. 打开 Parasoft> 系统属性页面。
  3. 点击添加 JARs 按钮,选择需要添加的 JAR 文件。

使用 SOAtest 和集成服务器

若要配置 SOAtest 来调用 webMethods IS(集成服务器)服务和接收响应:

  1. 双击 webMethods 测试用例浏览器节点打开工具配置面板。
  2. 打开工具设置选项卡。
  3. 如下指定工具设置:
    1. webMethods 中,选择集成服务器
    2. 主机、用户密码字段中,指定连接到集成服务器的设置。
    3. 点击刷新。然后,字段将填充集成服务器上可用的包。
    4. 字段中,选择包含要调用的服务的包。
    5. 服务字段中,选择要调用的服务。



  4. 打开输入选项卡。
  5. 使用可用控件指定将使用什么 iData 对象来调用该服务。
    • 可用的选项(表单 XML、字面量 XML、脚本化、表单输入)和相关控件与 SOAP 客户端工具和其他消息传递工具可用的选项相同。详情请参阅输入模式
    • 如果正在使用表单 XML、文本 XML 或表单输入,并希望生成默认输入模板,请点击刷新
    • 在脚本模式中,可以直接操作对象(比如,如果想通过使用 webMethods API(而不是 GUI 或 XML 表示形式)编写脚本来设置字段值,那么可以这样做。详情请参阅指定脚本输入扩展和脚本基础
    • 有关 iData 对象的更多信息,请参阅 webMethods Broker Client Java API Programmer's Guide 中的 com.wm.data.iData 文档。




在测试执行期间,SOAtest 发送 iData 对象来调用集成服务器服务并接收响应。

若要查看发送并接收对象的 XML 表示形式,请使用通讯报文查看器工具,该工具自动链接到 webMethods 工具。这个 XML 表示使用 iData XML 编码格式。注意,即使发送和接收了实际的 iData 对象,查看器也使用 XML 表示。这使得阅读更容易,并允许您链接验证或处理内容的工具(例如比较工具或 XML 断言器工具)。 
 



指定脚本输入

当使用带有脚本输入的集成服务器服务时,您的自定义方法将被传递两个参数。第一个是 Idata 对象,您需要用所需的数据填充该对象,然后返回。第二个参数是一个 com.parasoft.api.Context 对象。 

下面是一个示例 Jython 脚本: 

from com.wm.app.b2b.client import * 
from com.wm.data import *
 
def buildIData(idata, context):
    IDataUtil.put(idata.getCursor(), "in1", "12")     
	IDataUtil.put(idata.getCursor(), "in2", "13")     
	return idata

访问会话 ID

会话 ID 将自动保存到 WebMethodsSessionId 上下文变量。可以使用 com.parasoft.api.Context.get(String key)(其中 String key 为  “WebMethodsSessionId")从扩展工具、脚本或自定义工具访问它。

例如,下面的扩展工具(使用 Groovy 脚本)访问存储在 sessionId 变量中的会话 id:

import com.parasoft.api.*
boolean useSessionId(input, context) {
    sessionId = context.get("WebMethodsSessionId")     
	Application.showMessage("sessionId = " + sessionId)
    // Put code here to do something with the session id    
	return true
}
  • No labels