创建并运行 Web Service API 测试

本课程介绍如何使用从 Web Service 描述语言 (WSDL) 文件导入到 UFT One 中的自定义活动来创建和运行 Web Service API 测试。

WSDL 文件可以存储服务描述,以定义服务元数据和操作或方法。UFT One 可以读取 WSDL 并在“工具箱”窗格中创建服务的方法和活动。

当标准活动与您的应用程序执行的流程不匹配时,请使用导入的自定义服务。

创建 Web Service 测试

将 Web Service 测试添加到 MyFlight 应用程序解决方案中,以测试 MyFlights 应用程序的 Web (API)。

要创建 API 测试,请执行以下操作:

  1. 使用 UFT One 启动将打开 MyFlight 应用程序解决方案。

    有关更多详细信息,请参阅启动 UFT One 并创建解决方案

  2. 选择工具栏中的“新建”下拉列表 ,然后选择“新建测试”
  3. 在“新建测试”对话框中:

    • 选择“API 测试”
    • 在“名称”字段中,输入 MyFlightWebService
    • 在“位置”字段中,确保将测试保存在 C:%HOMEPATH%\My Documents\UFT One 目录中。

    单击“创建”将测试添加到解决方案中。

  4. 继续学习导入 Web Service

返回页首

导入 Web Service

将 MyFlight 服务描述及其方法导入到 UFT One 中。

要导入服务描述和方法,请执行以下操作:

  1. 启动 Flight API 应用程序。有关详细信息,请参阅Flight API 层

    备注: 在学习本课程时,请保持“OpenText Flights 服务 API”对话框处于打开状态,以确保 Flights API 服务在 UFT One 运行测试时处于运行状态。

  2. 在“OpenText Flights 服务 API”对话框中,单击“复制 WSDL 路径”以将服务路径复制到剪贴板。
  3. UFT One 中,选择“导入 WSDL” 工具栏下拉列表,然后选择“从 URL 或 UDDI 导入 WSDL”

  4. 在“从 URL 或 UDDI 导入 WSDL”对话框中,选择“URL”

    然后,单击“地址”字段,将 URL 粘贴到您已从“OpenText Flights 服务 API”对话框复制的服务路径中。

  5. 单击“确定” 将服务导入到 UFT One

    现在,方法将显示在“工具箱”窗格中。

  6. 继续学习构建并参数化 Web Service 测试

返回页首

构建并参数化 Web Service 测试

本练习介绍如何为 Flights API 构建和参数化 Web Service 测试,包括用于获取航班和创建航班订单的步骤。

API 服务测试流应尽可能匹配应用程序流中的步骤。您应该已经熟悉在应用程序中为 GUI 层创建测试的步骤。有关更多详细信息,请参阅GUI 测试教程

此部分包括以下部分: 

创建测试结构

  1. 在“工具箱”窗格中,展开“本地活动”>“Web Service”>“Flights_Service”>“FlightsServiceMethods”以显示从 WSDL 文件导入的所有方法。

  2. GetFlights 方法拖到画布上的“测试流”框中以创建第一个步骤。

  3. CreateFlightOrder 方法拖到“测试流”框中以创建第二个步骤。

  4. 继续学习将 FlightNumber 值链接到 GetFlights 输出

将 FlightNumber 值链接到 GetFlights 输出

  1. 选择画布中的 CreateFlightOrder 步骤以显示“属性”窗格。

  2. 在“属性”窗格上的“输入/检查点”选项卡中,向下导航至“正文”>“CreateFlightOrder”>“FlightOrder”>“FlightNumber”行。

  3. 选择 FlightNumber 行或将鼠标悬停在该行上方,然后单击“链接至数据源”按钮
  4. 在“选择链接源”对话框中,选择顶部的“可用步骤”选项。

    在左侧选择 GetFlights 步骤。

    在右侧的“输出”部分中,展开 GetFlightsResult 节点。

  5. 在显示的“航班 (数组)”行中,单击“添加”

  6. 展开显示的“航班[1]”数组,以显示所有 GetFlights 步骤输出属性的列表。

    向下滚动以查看 FlightNumber 属性。

  7. 选择 FlightNumber 属性,并单击“确定”

    当系统提示是否要将目标步骤包括在循环中时,选择“否”。

    UFT One 更新 FlightNumber 属性的“值”列以反映该链接。

  8. 继续学习添加要在测试中使用的数据源

添加要在测试中使用的数据源

  1. 显示“数据”窗格 (如果尚未显示) (“查看”>“数据”)。
  2. 在“数据”窗格中,单击“新建数据源”,然后选择“Excel”

  3. 在“新建数据源”对话框中:

    • 在“名称”字段中,输入 WS_Flights
    • 浏览到存储在“<UFT One 安装文件夹>\samples\Flights Application”目录中的 Excel 文件并选择该文件。
    • 在弹出的对话框中,对于本教程,请单击“否”,不将 Excel 文件路径转换为相对路径。
    • 选择“链接到 Excel 文件的原始位置”

    单击“确定”将 Excel 数据添加到测试中。

  4. 继续学习将测试步骤链接到数据源

将测试步骤链接到数据源

  1. 在画布中,选择 GetFlights 步骤以显示“属性”窗格。

  2. 在“属性”窗格的“输入/检查点” 选项卡中,展开 GetFlights 节点。

  3. 将鼠标悬停在 DepartureCity 行上方或选择该行,然后单击“链接至数据源”按钮

  4. 在“选择链接源”对话框中,执行以下操作:

    1. 在顶部选择“数据源列”
    2. 在左侧选择 WS_Flights!Input
    3. 在右侧选择 DepartureCity

  5. 单击“确定”DepartureCity 属性值链接到数据表的 DepartureCity 列。

    UFT One 将在“属性”窗格中反映此更改。

  6. ArrivalCityFlightDate 值重复前面的步骤。

    对于 FlightDate 值,选择 DepartureDate

     
  7. 回到画布中,选择 CreateFlightOrder 步骤。

    对于以下值,再次重复这些步骤:

    • Class
    • CustomerName。对于此值,请先单击蓝色框以删除 NIL 值,然后再链接此属性。
    • DepartureDate
    • NumberofTickets

    完成后,“属性”窗格应如下所示:

  8. 继续学习设置数据源导航设置

设置数据源导航设置

配置 UFT One 在测试运行期间处理数据的方式:

  1. 在画布中,选择“测试流”框以显示测试流程的“属性”窗格。

  2. 在“属性”窗格中,选择数据源选项卡

  3. 在表中选择 WS_Flights!Input 条目,然后单击“编辑”

  4. 在“数据导航”对话框中,按如下所示指定数据导航详细信息:

    开始于: 第一行
    移动行数: 向前 3 行
    结束于: 最后一行
    在到达最后一行时: 环绕
  5. 单击“确定”,然后保存测试。

  6. 继续学习运行 Web Service 测试

返回页首

运行 Web Service 测试

运行您在前面的步骤中创建的 Web Service 测试。

要运行 Web Service 测试,请执行以下操作:

  1. 确保 Flight API 应用程序仍处于运行状态。有关更多详细信息,请参阅分析应用程序

  2. 定义测试迭代的次数。在画布中,选择“测试流”框。

  3. 在“属性”窗格上的“输入”选项卡 中:

    • 选择“'For' 循环”选项。
    • 在“迭代次数”字段中,输入 4
  4. 单击“运行”工具栏按钮

    确保 MyFlightWebService 测试处于选中状态,然后单击“运行”以运行测试。

  5. 测试完成并显示运行结果后,在“测试流”中向下导航到任意 GetFlights 节点。

    在该步骤的已捕获数据中,向下滚动直到显示“更多”区域。UFT One 将在此区域中显示已执行的 Web Service 调用的 HTTP 请求和响应信息。

    例如:

  6. 单击“完整请求”单元格中的链接,以查看为选定步骤发送的输入属性。

    例如:

  7. 进一步向下滚动并单击 OutputXML 单元格中的链接,以查看步骤的输出属性。

    例如:

  8. 进一步向下滚动查看“检查点”区域,以显示检查点结果。

    例如:

  9. 继续进行本教程中的某个其他练习。

返回页首

后续步骤: