使用 API 进行测试 QTP/UFT:完整教程

⚡ 智能摘要

API 测试 QTP/UFT 一种方法是直接验证服务,无需用户界面。API 测试构建为画布上的一系列活动流程,检查点决定每个响应是否通过。

  • 🔘 无需图形用户界面: 输入数据直接发送到服务端,并将记录的响应与预期结果进行比较。
  • ☑️ 支持五种类型: Web 服务、REST、面向对象语言、数据库和专有 API。
  • ✅ 活动流程,而非对象: 将工具箱中的 HTTP 请求拖到测试流程中,并设置其属性。
  • 🧪 检查点决定判决结果: 状态码检查点为 200 表示调用成功,无需人工检查。
  • 🛠️ 结果汇总: 运行结果查看器会报告每次活动、其响应以及每个检查点的结果。
  • 📌 当前名称: QTP 此外,HP 服务测试也变成了 UFT现已作为 OpenText 功能测试(UFT 一)。

在 API 测试中构建和运行测试 QTP 和 UFT 一个

在测试 API 之前,我们需要了解 API 是什么。API(应用程序编程接口)是一组软件函数和过程的集合,可以被其他软件应用程序执行。

什么是API测试?

API测试 是一个意念波· 软件测试 用于验证应用程序编程接口 (API) 的方法。API 测试的目标是从功能、可靠性、安全性和性能等方面测试 API。在 API 测试中,使用软件向 API 发送输入,并记录输出以测试 API。

所以 API 测试就是:

  • 无需 GUI 即可进行测试
  • 通过编程方式模拟数据或控制流场景。
  • 专注于 功能而不是基于行为或客户体验。

下图将 API 测试置于调用服务的客户端和它所获取的数据之间。

客户端层和数据库层之间的 API 测试范围

为什么 API 测试很重要?

API 测试具有四大优势

1. API 测试是趋势

如下图所示,API测试在过去十年中发展迅猛,其普及程度远远超过其他类型的测试。

图表显示了过去十年 API 测试采用率的增长情况

2.省时

API 测试可以利用并行执行来缩短测试执行时间。与其他测试类型相比,最多可以节省 5 倍的时间。

3. 独立于语言

在 API 测试中,数据通过以下方式交换 XML or JSON因此,可以使用任何语言来测试响应。例如,如果您的服务响应采用 JSON 格式,则可以轻松地使用以下方法解析数据: Java, C# 或其他任何语言。

4. 轻松的 GUI 集成

计划 UFT 同一个解决方案中包含 GUI 测试和 API 测试,一次 API 调用即可为用户界面测试设置数据,两种测试结果都会汇总到同一份运行报告里。这样一来,服务检查和使用该服务的界面就都集中在一个项目中,而无需使用两个不同的工具链。

API 测试 UFT (统一功能测试)

有很多工具可供使用,包括开源工具和商业工具。 UFT 是执行 API 测试的绝佳选择,因为流程是可视化构建的,配置保存在一个属性窗格中。

最新版本 QTP称为 HP Unified 功能测试 (UFT),是 HP 的组合 QTP (GUI 测试工具)和 HP Service Test(API 测试工具)。 UFT 支持Web, Java,.NET, OracleSiebel、Web 服务以及许多其他旧版本不支持的主要语言和平台。

⚠️ 产品命名: 这里描述的工具是 HP UFT 现在作为……出售 OpenText 功能测试(UFT 一)先后从惠普到Micro Focus,然后到 OpenText下面的屏幕截图来自 HP 时代的版本,因此菜单措辞与当前版本有所不同,但 API 测试流程、活动和检查点的工作方式相同。

API 测试支持类型 HP UFT

  1. 网络服务
  2. REST的
  3. 面向对象语言
  4. 数据库
  5. 专有 API

开始您的首次 API 测试 QTP

在此 API 测试中 UFT 本教程将涵盖以下内容 UFT API 测试示例。我们将测试 Facebook 的 Graph API。我们将以如下方式测试该 API: 测试用例 如下。

  1. 获取 Facebook 上指定用户的个人资料。
  2. 确认个人资料符合预期。

以下是构建该 API 测试流程的步骤。

计划 UFT Facebook Graph API 测试用例的测试流程

⚠️ 关于此示例: Facebook 已于多年前停用 Graph API v2.3,下面显示的访问令牌早已过期,因此该调用不再返回数据。原始请求保持不变,作为示例;您可以按照相同的步骤操作任何当前的 REST 端点来复现示例。

步骤 1) 打开 HP UFT 并创建新的 API 测试项目

  1. 选择 开始 > (所有)程序 > HP 软件 > HP Unified Functional Testing > Unified Functional Testing。 在当前版本中,这只是 UFT 一个 捷径。

    Windows 开始菜单路径,指向 HP Unified Functional Testing 快捷方式

  2. 点击 文件 > 新建 > 测试。 选择 API测试 类型

    UFT 在“添加新测试”对话框中选择 API 测试类型

  3. 当弹出对话框时,输入 API 测试的名称: API_Facebook然后选择保存此项目的位置。点击 创建 创建 API 测试项目。

    将新的 API 测试命名为 API_Facebook 并选择其保存位置

步骤 2)向测试流程添加 HTTP 请求

我们将使用 HTTP 请求向 Facebook API 发出请求。

  1. 选择 工具箱 > 网络

    网络集团扩大了 UFT 工具箱窗格

  2. 拖拽元素 HTTP请求 测试流程。

    HTTP 请求活动已丢弃 UFT API 测试流程画布

步骤 3)配置参数并将其传递给 HTTP 请求

  1. 用鼠标右键单击 HTTP请求 反对编辑它。

    在测试流程中,右键单击 HTTP 请求对象,选择右键菜单。

  2. 在“属性”部分,输入 URL

    HTTP 请求活动的“属性”窗格 URL 部分

    https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
  3. 您还可以通过在 API 中设置值来传递参数。 请求头 格。

    请求头网格用于将额外参数传递给 API 调用

    使用 图 API 资源管理器 从 Facebook 获取 access_token 的值。

  4. 设置 HTTP方法 至 的GET.

    HTTP 请求活动的 HTTP 方法列表设置为 GET

    请求的 HTTP 方法选择为 GET。

  5. 配置 检查点 的 HTTP请求将状态代码设置为 200 在“检查点”部分。检查点允许您在无需手动检查结果的情况下查看操作是否成功,测试的通过或失败结果也由它们决定。状态码 200 表示测试用例已通过。

    检查点窗格中,预期状态代码设置为 200

步骤 4)运行测试

点击 运行 按钮,或按 F5单击以打开“运行测试”对话框。 运行 编译并运行测试。

UFT “运行测试”对话框从“运行”按钮打开。

步骤 5)查看结果

运行结果查看器打开。在此 API 测试中使用 UFT 例如,失败的测试用例会像下图所示那样报告。

运行结果查看器显示了一个失败的 API 测试用例

当测试用例通过时,结果报告如下。

运行结果查看器显示 API 测试用例通过

你的第一个 API 测试 UFT 现已完成。

凡何去何从

现在你已经学会了如何使用 API 测试来创建测试。 UFT您可以为您的无图形用户界面应用程序创建自己的测试。添加一个 检查站 每个响应和组ping 拨打 交易 接下来通常是这些步骤。

常见问题

GUI 测试驱动屏幕上的控件,并将它们存储为测试对象。API 测试则是在画布上执行一系列操作,直接向服务发送请求,因此不会记录任何来自界面的操作。

不。API 测试包含活动、输入输出属性和数据源,而不是测试对象,所以不行。 对象库 参与其中。只有 GUI 测试才能学习对象并存储其描述。

将服务 WSDL 导入到测试中。 UFT 读取文档,为服务公开的每个操作创建一个活动,并将它们添加到工具箱窗格中,以便可以像任何其他活动一样将它们拖到测试流程中。

将活动输入属性链接到数据源,例如 Excel 表格或 XML 文件,而不是 ty。ping 字面值。每一行代表一次迭代,运行结果查看器会报告每次迭代的结果。

人工智能辅助工具会比较不同运行中的响应,以标记模式偏移和新出现的故障字段,并能根据可能的根本原因对重复出现的故障进行分组。这缩短了故障排查时间,但每个检查点的预期值仍然需要人工判断。

Copilot 适用于测试相关的代码:自定义活动逻辑、响应解析和辅助函数。但它无法构建可视化测试流程或读取服务配置。trac因此,它建议的每个请求和检查点都需要验证。

SoapUI 和 Postman 它们更轻便,而且一开始就是免费的。 UFT 在同一个项目必须同时涵盖用户界面的情况下,它就占据了一席之地,因为一个许可证和一个结果集可以跨越这两个层面。

除了 HTTP 状态码之外,API 测试还可以检查响应体内容、各个标头值以及返回的数据与预期来源的比较。每个检查点的结果都会与请求一起显示在“运行结果查看器”中。

总结一下这篇文章: