创建并运行 Web Service API 测试
本课程介绍如何使用从 Web Service 描述语言 (WSDL) 文件导入到 UFT One 中的自定义活动来创建和运行 Web Service API 测试。
WSDL 文件可以存储服务描述,以定义服务元数据和操作或方法。UFT One 可以读取 WSDL 并在“工具箱”窗格中创建服务的方法和活动。
当标准活动与您的应用程序执行的流程不匹配时,请使用导入的自定义服务。
创建 Web Service 测试
将 Web Service 测试添加到 MyFlight 应用程序解决方案中,以便稍后测试 MyFlights 应用程序的 Web (API)。
执行以下操作:
-
使用 UFT One 启动将打开 MyFlight 应用程序解决方案。
有关更多详细信息,请参阅计划测试并创建解决方案。
- 选择工具栏中的“添加”下拉列表 ,然后选择“添加新测试”。
-
在“添加新测试”对话框中:
- 选择“API 测试”。
- 在“名称”字段中,输入 MyFlightWebService。
- 在“位置”字段中,确保将测试保存在 C:\%HOMEPATH%\Unified Functional Testing 目录中。
单击“添加”将测试添加到解决方案中。
- 继续学习导入 Web Service。
导入 Web Service
将 MyFlight 服务描述及其方法导入到 UFT One 中。
执行以下操作:
-
启动 Flight API 应用程序。有关详细信息,请参阅 航班 API 层。
注释: 在学习本课程时,请保持“Micro Focus 服务 API”对话框处于打开状态,以确保 Flights API 服务在 UFT One 运行测试时处于运行状态。
- 在“Micro Focus 服务 API”对话框中,单击“复制 WSDL 路径”以将服务路径复制到剪贴板。
-
在 UFT One 中,选择“导入 WSDL” 工具栏下拉列表,然后选择“从 URL 或 UDDI 导入 WSDL”。
-
在“从 URL 或 UDDI 导入 WSDL”对话框中,选择“URL”。
然后,单击“地址”字段,将 URL 粘贴到您已从“Micro Focus 服务 API”对话框复制的服务路径中。
-
单击“确定” 将服务导入到 UFT One。
现在,方法将显示在“工具箱”窗格中。
- 继续学习构建并参数化 Web Service 测试。
构建并参数化 Web Service 测试
本练习介绍如何为 Flights API 构建和参数化 Web Service 测试,包括用于获取航班和创建航班订单的步骤。
API 服务测试流应尽可能匹配应用程序流中的步骤。您应该已经熟悉在应用程序中为 GUI 层创建测试的步骤。有关更多详细信息,请参阅创建和运行 GUI 测试。
创建测试结构
执行以下操作:
-
在“工具箱”窗格中,展开“本地活动”>“Web Service”>“Flights_Service”>“FlightsServiceMethods”以显示从 WSDL 文件导入的所有方法。
-
将 GetFlights 方法拖到画布上的“测试流”框中以创建第一个步骤。
-
将 CreateFlightOrder 方法拖到“测试流”框中以创建第二个步骤。
- 继续学习将 FlightNumber 值链接到 GetFlights 输出。
将 FlightNumber 值链接到 GetFlights 输出
执行以下操作:
-
选择画布中的 CreateFlightOrder 步骤以显示“属性”窗格。
-
在“属性”窗格上的“输入/检查点”选项卡中,向下导航至“正文”>“CreateFlightOrder”>“FlightOrder”>“FlightNumber”行。
- 选择 FlightNumber 行或将鼠标悬停在该行上方,然后单击“链接至数据源”按钮 。
-
在“选择链接源”对话框中,选择顶部的“可用步骤”选项。
在左侧选择 GetFlights 步骤。
在右侧的“输出”部分中,展开 GetFlightsResult 节点。
-
在显示的“航班 (数组)”行中,单击“添加”。
-
展开显示的“航班[1]”数组,以显示所有 GetFlights 步骤输出属性的列表。
向下滚动以查看 FlightNumber 属性。
-
选择 FlightNumber 属性,并单击“确定”。
当系统提示是否要将目标步骤包括在循环中时,选择“否”。
UFT One 更新 FlightNumber 属性的“值”列以反映该链接。
-
继续学习添加要在测试中使用的数据源。
执行以下操作:
- 显示“数据”窗格 (如果尚未显示) (“查看”>“数据”)。
-
在“数据”窗格中,单击“新建数据源”,然后选择“Excel”。
-
在“新建数据源”对话框中:
- 在“名称”字段中,输入 WS_Flights。
- 浏览到存储在“<UFT One 安装文件夹>\samples\Flights Application”目录中的 Excel 文件并选择该文件。
- 选择“链接到 Excel 文件的原始位置”。
单击“确定”将 Excel 数据添加到测试中。
- 继续学习将测试步骤链接到数据源。
执行以下操作:
-
在画布中,选择 GetFlights 步骤以显示“属性”窗格。
-
在“属性”窗格的“输入/检查点” 选项卡中,展开 GetFlights 节点。
-
将鼠标悬停在 DepartureCity 行上方或选择该行,然后单击“链接至数据源”按钮 。
-
在“选择链接源”对话框中,执行以下操作:
- 在顶部选择“数据源列”。
- 在左侧选择 WS_Flights!Input。
- 在右侧选择 DepartureCity。
-
单击“确定”将 DepartureCity 属性值链接到数据表的 DepartureCity 列。
UFT One 将在“属性”窗格中反映此更改。
-
对 ArrivalCity 和 FlightDate 值重复前面的步骤。
对于 FlightDate 值,选择 DepartureDate。
-
回到画布中,选择 CreateFlightOrder 步骤。
对于以下值,再次重复这些步骤:
- Class
- CustomerName。对于此值,请先单击蓝色框以删除 NIL 值,然后再链接此属性。
- DepartureDate
- NumberofTickets
完成后,“属性”窗格应如下所示:
- 继续学习设置数据源导航设置。
配置 UFT One 在测试运行期间处理数据的方式。执行以下操作:
-
在画布中,选择“测试流”框以显示测试流程的“属性”窗格。
-
在“属性”窗格中,选择数据源选项卡 。
-
在表中选择 WS_Flights!Input 条目,然后单击“编辑”。
-
在“数据导航”对话框中,按如下所示指定数据导航详细信息:
开始于: 第一行 移动行数: 向前 3 行 结束于: 最后一行 在到达最后一行时: 环绕 -
单击“确定”,然后保存测试。
-
继续学习运行 Web Service 测试。
运行 Web Service 测试
运行您在前面的步骤中创建的 Web Service 测试。
执行以下操作:
-
确保 Flight API 应用程序仍处于运行状态。有关更多详细信息,请参阅计划测试并创建解决方案。
-
定义测试迭代的次数。在画布中,选择“测试流”框。
-
在“属性”窗格上的“输入”选项卡 中:
- 选择“'For' 循环”选项。
- 在“迭代次数”字段中,输入 4。
-
单击“运行”工具栏按钮 。
确保 MyFlightWebService 测试处于选中状态,然后单击“运行”以运行测试。
-
测试完成并显示运行结果后,在“测试流”中向下导航到任意 GetFlights 节点。
在该步骤的已捕获数据中,向下滚动直到显示“更多”区域。UFT One 将在此区域中显示已执行的 Web Service 调用的 HTTP 请求和响应信息。
例如:
-
单击“完整请求”单元格中的链接,以查看为选定步骤发送的输入属性。
例如:
-
进一步向下滚动并单击 OutputXML 单元格中的链接,以查看步骤的输出属性。
例如:
-
进一步向下滚动查看“检查点”区域,以显示检查点结果。
例如:
- 继续进行本教程中的某个其他练习。
后续步骤: