Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
maxLevel1

添加自定义传输

Parasoft SOAtest 包括允许你扩展 包括允许您扩展 SOAtest 的内置传输和协议。它现在支持你是用的任何传输或协议 的内置传输和协议。它现在支持您是用的任何传输或协议 — 例如:DDS、纯 socket 或基于 TCP/IP 的消息传递、基于文件的消息传递以及基于专有 API 的消息传递。这个扩展是使用 Java 完成的。 

可以自定义 SOAP 客户机、EDI 客户机和消息传递客户机工具,以显示满足组特定需求的传输实现。一旦自定义传输实现被插入到 SOAtest 中,你仍可使用 中,您仍可使用 SOAP 客户机和其他消息传递工具常用的 WSDL、schema 以及请求消息构造功能。通过必要协议的消息的实际交付和接收由传输实现处理。 

...

ICustomConnection Implementation

这是一个可选类。这意味着你可以在 这是一个可选类。这意味着您可以在 ICustomTransport.createNewConnection() 中返回 null,并期望在 invoke() 方法中得到 null。然而,很多协议都有会话或连接的概念,因此扩展性框架允许通过此接口来管理。 

如果选中传输配置工具 GUI(在连接管理部分)中的 Keep connection alive 选项,你可以期望为测试的每次调用创建的 选项,您可以期望为测试的每次调用创建的 ICustomConnection 对象的新实例。否则,当测试执行使用相同的传输从一个测试流到另一个测试时,将重用相同的实例...直到测试关闭连接(如果选择 Close connection after test execution 选项),或者是直到所有执行完成。

SOAtest 在调用 invoke() 之前将会调用 connect() 方法。期望它将在 connection 对象中建立传输连接,或在该进程失败时抛出异常。close() 在测试执行最后调用,除非选中测试中的 “Keep connection alive” 选项。

期望 ICustomConnection 封装并携带你的连接和会话状态,但是除非选择 封装并携带您的连接和会话状态,但是除非选择 Keep connection alive,否则它不会在多个测试中重用。

...

需要实现该接口,以便它可以通过 ICustomTransport.invoke() 实现类返回一个实例。作为一种选择,如果你的消息内容格式是用字符串的最好代表,你可以使用默认实现类 实现类返回一个实例。作为一种选择,如果您的消息内容格式是用字符串的最好代表,您可以使用默认实现类 DefaultCustomMessage<T>。参数化类型可用于用字符串键控的属性(或头文件)对象类型。getHeaders() 返回的字符串是 SOAtest 在流量视图器头文件区中显示的字符串。getBodyString() 返回的字符串是 SOAtest 在流量视图器有效负荷(Body)区中显示的字符串。

...

可在 Parasoft 应用市场获得自定义传输实例(可以访问 marketplace.parasoft.com 或你团队的环境管理器)。若要使用任何这些传输,请将 或您团队的环境管理器)。若要使用任何这些传输,请将 jar 添加到系统首选项类路径列表,然后创建一个新的 SOAP 客户机或其他消息传递客户机工具或重新打开一个你正在使用的 客户机或其他消息传递客户机工具或重新打开一个您正在使用的 .tst 文件。 

传输菜单中的“自定义扩展”项将重新命名,以反映实现类名称。你可以在测试中立即使用该传输。可以使用 传输菜单中的“自定义扩展”项将重新命名,以反映实现类名称。您可以在测试中立即使用该传输。可以使用 File> Import> General/Existing Projects into Workspace> Select archive file,将示例传输源导入到 SOAtest(或 Eclipse)。导入后,将 [SOAtest install dir]/plugins/com.parasoft.xtest.libs.web_[version]/root/com.parasoft.api.jar 添加到 Java 项目类路径,以便构建项目。

...

  • 当使用配置的自定义传输扩展保存 .tst 文件时,仍然可以使用没有该扩展名的 SOAtest 安装打开该文件。然而,将在 SOAtest 的控制台视图中显示错误消息,并且使用该传输的测试将不会执行。在没有传输扩展名的情况下,重新保存 .tst 将导致在使用扩展名重新打开文件时丢失自定义配置。这是为了避免 .tst 文件中的“泄漏”,其中包含未使用的或过时的配置数据。
  • 将提供给扩展 GUI 的值保存为名称-值字符串映射。作为一种结果,重新整理 parasoft-extension.xml 中表单元素的字段将不会影响用户值是否已保存;然后,改变 id 将会影响这一点。id 用于保存或加载值,因此它们必须是唯一的。如果更改它们,则先前保存的配置将不会加载以前的值,并且将变为空。然而,你可以使用修订更新器将用老 用于保存或加载值,因此它们必须是唯一的。如果更改它们,则先前保存的配置将不会加载以前的值,并且将变为空。然而,您可以使用修订更新器将用老 id 保存的老设置迁徙到新 保存的老设置迁移到新 id 集。
  • 无论是否使用,传输扩展 GUI 的 Connection Management 部分将总是会出现。
  • 仅支持自定义表单 GUI 中带字符串值的 GUI 字段。如果扩展要求 integer 或其他类型,则你可以将字符串内容转换为扩展实现类中的所需类型。或其他类型,则您可以将字符串内容转换为扩展实现类中的所需类型。
  • 如果希望 GUI 字段用作密码字段(输入屏蔽和安全保存特定密码),请给该字段元素一个设置为密码类型的属性。例如,以下设置 pwd 字段为密码模式:

    Code Block
    <form xmlns="urn:com/parasoft/extensibility-framework/gui">
    	<section label="Main Settings">
    		 <field id="usr" label="Username"/>
      		 <field id="pwd" label="Password" type="password"/>
    	</section> 
    </form>
  • 表格或列表可以在字符串字段中实现为逗号分隔的值。
  • 可以使用 ${var_name} 语法引用扩展 GUI 字段中的数据源、数据库值、环境变量和测试套件变量。批准的 "参数化" 和 “脚本化" GUI 控件还可用来参数化字段。