本主题解释扩展 Parasoft 内置传输和消息格式的基本过程。
本章包含:
添加扩展
使用以下流程添加对团队正在使用的所有不同消息格式和传输的支持。所有的扩展工作都是使用 Java 完成的。
- 将
[
install dir]/plugins/com.parasoft.xtest.libs.web_[version]/root/com.parasoft.api.jar
添加到 Java 项目类路径。还可以创建一个新的 Java 项目,该项目的类路径中已经添加了 .jar 文件:- 请选择 File> New> Project
选择 SOAtest 或 Virtualize> Custom Development> SOAtest 或 VirtualizeJava 项目
- 实现适当的接口。有关实现适当接口的详细信息,请参阅以下部分:
在 Java 项目的默认包中创建一个
parasoft-extension.xml
文件,并根据要添加的项(或多个项)对其进行适当的配置。
- 每个 Java 项目都需要一个 parasot-extension.xml 文件。
如果希望同时添加多个扩展,可以创建一个 parasot-extension.xml 文件,该文件涵盖要添加的所有扩展,并且使用
<extensions>
顶级元素;有关更多详情,请查阅 Adding Multiple Extensions at Once 。该公司在其类路径下查找 parasoft-extension.xml 文件默认的包,所以每个 parasoft-extension.xml 文件需要包括在类路径上,通过将每个活动目录(或包含在其中的 jar 文件)放在系统属性首选项中的类路径上。有关如何在 Virtualize 中为特定类型的扩展配置此文件的详细信息,请参见:
定义自定义报文格式的 parasoft-extension.xml
定义自定义监听器的 parasoft-extension.xml
定义自定义工具的 parasoft-extension.xml
有关如何在 Virtualize 中为特定类型的扩展配置此文件的详细信息,请参见:
为自定义传输自义 parasoft-extension.xml
- 构建您的 Java 项目,并将其添加到您的系统属性类路径区域中。作为 jar 文件、SOAtest 或 Virtualize 工作空间中的 Java 项目或类文件夹。
重启 SOAtest/Virtualize 并验证扩展是否出现在适当的区域。
有关详细信息,请参阅以下 Virtualize 部分:
有关详细信息,请参阅以下 Virtualize 部分:
一次添加多个扩展
如果您的团队正在使用许多扩展,则您可能希望一次添加多个扩展。例如,一个包含所有自定义消息格式、自定义传输和消息侦听器的包。
若要一次添加多个扩展:
- 与其创建多个 parasot-extension.xml文件(每个扩展一个),不如在项目中创建一个 parasot-extension.xml 文件,并确保它描述了所有的扩展。确保使用顶级 xml 元素
<extensions>
,并将特定的自定义扩展定义为这个顶级元素的子元素。 - 在 Java 项目中包含所有扩展,然后构建它,然后将生成的 jar 文件、Java 项目或类文件夹添加到系统属性类路径中(如上面的步骤 #4 所述)。
例如,一个扩展可能有一个 parasot-extension.xml 文件,比如:
<?xml version="1.0" encoding="UTF-8"?> <extension xmlns="urn:com/parasoft/extensibility-framework/v1/extension" type="tool" name='the name of your tool, appears in menus' description='A more detailed description'> <class>com.myCompany.MyTool</class> <!-- implements ICustomTool --> <version id='your version ID' updaterClass="com.myCompany.myUpdater"/> <tool xmlns="http://schemas.parasoft.com/extensibility-framework/v1/tool" ... </extension>
对于包含多个扩展名的项目,您应该有一个类似于:
<?xml version="1.0" encoding="UTF-8"?> <extensions xmlns="urn:com/parasoft/extensibility-framework/v1/extension"> <extension type="tool" name='the name of your tool, appears in menus' description='A more detailed description'> <class>com.myCompany.MyTool</class> <!-- implements ICustomTool --> <version id='your version ID' updaterClass="com.myCompany.myUpdater" /> <tool xmlns="http://schemas.parasoft.com/extensibility-framework/v1/tool"> ... </tool> ... </extension> <extension type="transport" name='The name of your transport, appears in the transports menu' description='A more detailed description'> <class>com.mycompany.MyTransport</class> <!-- implements ICustomTransport --> <form xmlns="urn:com/parasoft/extensibility-framework/gui"> <!-- This describes the fields you wish to appear in your transport GUI --> <section label="field group 1"> <field id="key 1" label="field 1"/> ... <field id="key n" label="field n"/> </section> </form> </extension> ... <extension> ... </extension> </extensions>
API 文档
您可以通过 Parasoft> Help 菜单访问扩展框架 API 的文档,并查找 Parasoft SOAtest 或 Virtualize Extensibility API 书籍。
其他注意事项
自定义扩展可依赖除了 com.parasoft.api.jar 之外的 Java 库。 有关 SOAtest 的详细信息,请参见 配置外部依赖。有关 Virtualize 的详细信息,请参见 配置外部依赖。
您可以外部化 GUI 中显示的任何字符串,以支持不同的语言。 有关 SOAtest 的详细信息,请参见 本地化 GUI 文本。有关 Virtualize 的详细信息,请参见 本地化 GUI 文本。
如果正在使用现有的扩展,然后稍后创建具有不同 GUI 选项集的扩展的新版本,则可以使用版本更新器更新保存的 .tst(SOAtest)或 .pva, .pvn (Virtualize) 文件 ,使它们适应新选项集。 有关更新 SOAtest 工件的详细信息,请参见 为新版本更新 GUI 字段。有关更新 Virtualize 工件的详细信息,请参见 为新版本更新 GUI 字段。。