已知问题 - 自定义 API 测试活动

相关项: API 测试

本主题介绍使用自定义 API 测试活动时的已知问题。

常规

本部分介绍在运行 API 测试时需要注意的常规问题。

运行早期版本中的自定义活动

OpenText Functional Testing 使用的 log4net.dll 版本比以前更新。

如果自定义活动是由早期版本的活动向导创建的,则必须重新编译这些活动,然后才能在 API 测试中使用它们。

使用“<Installdir>/bin”文件夹中的 log4net.dll 重新编译这些活动。可以使用随当前 OpenText Functional Testing 版本安装的活动向导来重新编译活动。

返回页首

Web Service

选项 描述
命名约定

不能导入其名称受 Windows 操作系统限制的 WSDL 文件。

此列表包括: CONPRNAUXNULCOM1COM2COM3COM4COM5COM6COM7COM8COM9LPT1LPT2LPT3LPT4LPT5LPT6LPT7LPT8LPT9

变通方法: 在导入之前重命名 WSDL 文件。

不支持的 WSDL

不支持以下 WSDL:

  • WSDL 版本 2.0

  • 包含 <appInfo> 元素的 WSDL。

  • 配置为异步 Web Service 的 RPC 编码的 WSDL。

  • Apache 服务器上的 HTTP 摘要验证的 WSDL。

使用同一 Web Service 进行多次测试

在同一个解决方案中使用一个或多个相同的 Web Service 打开很多测试时,OpenText Functional Testing 可能会导致内存泄漏。

变通方法: 将 Web Service 移至文件系统或 ALM 存储库:

  1. 导入 Web Service。

  2. 在“工具箱”窗格中,右键单击该 Web Service 活动并执行以下操作之一:

    移至 > 文件系统活动

    ALM 活动

导入为服务器响应的 Web Service

对于导入为服务器响应的 Web Service:

  • RPC 类型的 WSDL 不能导入为服务器响应。如果您尝试从 RPC 编码的 WSDL 中更新服务,它将创建重复条目。

  • 如果在添加绑定后在侦听阶段结束 OpenText Functional Testing.exe 进程,将不会从系统中删除绑定。

    变通方法: 使用实用程序(例如 httpcfg.exenetsh.exe)手动删除绑定。

  • 当使用 SSL 时,不支持文件中提供的证书。如果将测试移动到另一台计算机,证书将不随测试一起保存。

    变通方法: 在侦听器启动之前将证书添加到本地计算机存储,在侦听进程结束时将其删除。

返回页首

Web Service 安全性

选项 描述
从 UDDI 导入的 Web Service 从 UDDI 导入的 Web Service,不支持身份验证和代理服务器安全性。
WCF 类型的 Web Service

在处理 WCF 类型的 Web Service 时,OpenText Functional Testing 存在下面的已知问题:

  • 不支持为位于同一端口上的操作配置不同的安全设置。

  • 将不调用某些用户事件处理程序 (例如 AfterProcessRequestSecurityBeforeProcessResponseSecurityOnSendRequestOnReceiveResponse 事件)。

  • 在使用采用 STS(安全令牌服务)的联合类型场景时,不能更改 SOAP 版本。

消息级别安全性

在测试需要消息级别安全性的 Web Service 时,Web Service 安全场景仅支持 SOAP V1.1。

对于 SOAP 1.2,请使用 WCF 类型的场景。

SAML 安全令牌

在处理 SAML 安全令牌时,OpenText Functional Testing 存在下面的已知问题:

  • 在使用 SAML 安全令牌来实现 Web Service 安全性时,用户提供的内容可能包含创建和到期时间戳。

    要延长测试的有效期,建议将到期日期硬编码为遥远的未来。在无法实现这一点的情况下,请通过实现 OnBeforeApplyProtocolSettings 事件来更改时间戳。

  • 在使用 SAML 安全令牌来实现 Web Service 安全性时,如果在网格模式下编辑值,它们可能不会在 OpenText Functional Testing 中发生更新。

    变通方法: 要更新值,请切换到文本模式,并保存测试。

  • 使用 SAML 令牌与来自文件系统的证书时,不支持 Web Service 步骤。

    变通方法: 将证书安装到 Windows 存储中,并从存储中选择证书。

SOAP 1.2

在处理 SOAP 1.2 时,OpenText Functional Testing 存在下面的已知问题:

  • 在配置消息级别安全性时只能选择用户名或 X509 令牌。

  • 在为消息签名配置规范化算法和转换算法时,不能使用以下格式: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform

返回页首

更新 Web Service

当比较 REST 步骤与其原型时,不会将请求/响应正文内容中的差异视为冲突。

因此,当解析其内容与原型正文内容不符的 REST 步骤时,正文内容将不受影响。

返回页首

异步 Web Service 测试

对于导入为服务器响应的 Web Service:

  • 启用 SSL 选项时,OpenText Functional Testing 临时将 SSL 证书绑定到系统 http.sys 级别上的指定端口。添加绑定后,如果您在侦听阶段从任务管理器结束 OpenText Functional Testing.exe 进程,则不会自动从系统中删除绑定。

    变通方法: 使用实用程序(例如 httpcfg.exenetsh.exe)手动删除绑定。

  • 当使用 SSL 时,不支持文件中提供的证书。如果将测试移到其他计算机,证书将不可用。

    变通方法: 运行测试前,将证书添加到本地计算机存储中。使用完测试后,根据需要删除证书。

返回页首

REST 服务

选项 描述
导入架构

将架构导入到 REST、HTTP 或 SOAP 检查点中会删除输入属性的链接。

属性之间的链接

如果在同一个 REST 方法的输入和输出属性之间建立链接,然后删除输入属性而不删除链接,则链接表达式将仍然保留在输出属性中。

如果您以这种状态保存测试,则可能将无法重新打开它。

变通方法: 在删除链接的源属性之前或之后,立即显式删除链接。

REST 方法原型

在“添加/编辑 REST 服务”对话框中定义 REST 方法原型以使用“剪裁”、“忽略”或“停止测试”选项时,在“检查点”窗格的“验证”列中选中相应的复选框。

检查点

在处理检查点和 REST 服务时,OpenText Functional Testing 存在下面的已知问题:

  • HTTP 和 REST 活动不支持 XPath 检查点。
  • 使用运行步骤命令运行 REST 方法时,将忽略方法中已链接到其他属性值(输入或输出)的动态属性值的检查点。
JSON 内容中的数据类型

在构建 JSON 内容并将其加载到 OData 和 Swagger 的 XML 网格模型中时,除 String 之外的所有其他数据类型都作为值包含在 JSON 内容中。

解决冲突

如果 REST 服务的 URL 或源文件的操作名称或相对 URL 发生了变更,则无法使用“解决冲突”向导解决这些冲突。

而是需要从头开始导入源并手动更新步骤。

返回页首

Web 应用程序服务

导入 WADL 时不支持以下元素。OpenText Functional Testing 不会将这些元素导入测试内部的 WADL 层次结构:

  • Grammars 元素

  • Resource_type 元素

  • Link 元素

OpenText Functional Testing 还会忽略这些元素的所有子元素且不会将其添加到测试的 WADL 中。

此外,如果使用 href 属性链接到其他元素,则必须引用同一个 WADL 文件中的元素。不支持 WADL 文件之间的链接。

返回页首

网络捕获活动

从网络捕获文件添加到测试的步骤不包括:

  • 针对 Web Service 调用和 SOAP 请求的安全设置

  • 任何类型步骤的 Web 身份验证信息

  • HTTP 请求的 Cookie 数据

  • 作为 Web Service 调用一部分发送的附件

返回页首

.NET 程序集活动

不支持导入或添加对 64 位 .NET 程序集的引用。

返回页首

使用 API 测试扩展性创建的自定义活动

在处理自定义活动和 API 测试扩展性时,OpenText Functional Testing 存在下面的已知问题:

选项 描述
Visual Studio 版本

必须在 OpenText Functional Testing 所安装的同一台计算机上装有 Visual Studio 2012 才能使用活动向导创建自定义活动。

签名文件位置

如果将签名文件放在插件文件夹的子文件夹之下,则可能会出现以下错误。

Service Test 无法拖放活动: 未声明类型“http://hp.vtd.schemas/types/v1.0:GeneralPropertiesType”。

变通方法: 修改 Types 架构的相对路径。

例如:

.schemaLocation="../../dat/schemas/Types.xsd"。

签名文件修改

如果您修改签名文件中的活动结构,则将无法使用该活动打开测试。

要修改活动结构,请执行以下操作:

  1. 使用新结构创建新活动。
  2. 替换所有使用旧活动的测试步骤。
  3. 删除旧的活动实现。
从早期版本的 OpenText Functional Testing 升级

运行测试时,在 OpenText Functional Testing 12.00 之前的版本中创建的自定义 Java 活动将失败。

变通方法:

  1. 从创建自定义 Java 活动的项目中删除 ServiceTestCall.java 接口。

  2. 将项目包名称更改为 hp.st.ext.java 之外的名称。

  3. ServiceTestCall.jar 文件添加到类路径。此文件位于“<Installdir>\Addins\ServiceTest\JavaCall\Java Interface\bin”中。

  4. 重新编译 Java 项目。

返回页首