使用检查点测试 GUI 应用程序

OpenText Functional Testing 检查点可验证在运行测试时应用程序中是否显示了预期信息。

本练习介绍如何插入各种类型的检查点,以及如何使用函数来检查 MyFlight 示例应用程序中对象的有效性。

为检查点新建测试

创建现有 MyFlight 测试的副本,您可以在其中添加检查点,然后查看 OpenText Functional Testing 运行测试的方式有何不同。

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

  1. 首先在 OpenText Functional Testing 中打开 MyFlightApplication 解决方案。

    如果您已关闭并打开 OpenText Functional Testing,请确保在已加载 WPF 插件的情况下启动它。

  2. 在解决方案浏览器中,右键单击 MyFlight 测试节点并选择“另存为”

  3. 将测试保存在同一位置 (C:%HOMEPATH%\Documents\Functional Testing)。

    在“文件名”字段中,输入 MyFlightCheckpoint,然后单击“保存”

解决方案浏览器将转而切换为显示 MyFlightCheckpoint 测试,并且所有操作和步骤均与原始 MyFlight 测试相同。

要同时显示所有测试,请将 MyFlight 测试重新添加到解决方案中。

在解决方案浏览器中,右键单击该解决方案节点,然后选择“添加”>“添加现有测试”。选择 MyFlight 测试。

添加标准检查点

添加标准检查点,以验证在 MyFlight 应用程序的 Flight Details 窗口中为 Passenger Name 字段输入的值。

要添加标准检查点,请执行以下操作:

  1. OpenText Functional Testing 关键字视图中,打开 MyFlightCheckpoint 测试中的 FlightConfirmation 操作。

  2. 选择 passengerName 步骤行。

    通过单击左侧空白处的灰色区域中的垂直省略号 (与 passengerName 相邻) 可执行此操作。单击“项”列将仅选择对象,而不选择步骤。

  3. 选择“设计”菜单 >“检查点”>“标准检查点”

  4. 在“检查点属性”对话框的“名称”字段中输入 CheckName

  5. 在网格中向下滚动,然后选择包含文本属性名称的行。

  6. 单击“值”列,然后在网格下方的“配置值”区域中选择“常量”

  7. 在“常量”字段中,输入 Mary Sanchez。这是您在执行此操作的第一步时在 Passenger Name 框中输入的值。

    请注意,网格中的值也会随之更新。

  8. 在对话框底部的“插入语句”区域中,选择“在当前步骤之后”

    接受其他默认设置,然后单击“确定”

    返回到关键字视图中,该检查点步骤已添加到 passengerName Set 步骤之后。

    要了解有关检查点属性的更多信息,请右键单击检查点步骤,然后选择“检查点属性”以再次打开相应对话框。

    然后,单击对话框右上角的 帮助按钮以打开包含更多详细信息的相关“帮助中心”页面。

  9. 保存测试,然后继续学习请参阅 "添加表检查点"

添加表检查点

添加表检查点,以验证 MyFlights 示例应用程序的 Select Flight 页面上的航班网格中的价格值。

要添加表检查点,请执行以下操作:

  1. 将 MyFlight 应用程序打开到 SELECT FLIGHT 页面。如果 MyFlight GUI 应用程序已打开,请单击 NEW SEARCH 以再次启动。

    使用您在 FlightFinder 操作中使用的相同数据来搜索航班。这样可确保您要查看的价格与测试搜索的值相匹配。

    有关更多详细信息,请参阅请参阅 "航班 GUI 层"

  2. OpenText Functional Testing 关键字视图中,打开 MyFlightCheckpoint 测试中的 SelectFlight 操作。

  3. 选择 flightsDataGrid 步骤,该步骤将选择要预订的特定航班。

  4. 配置 OpenText Functional Testing 以在 MyFlight 应用程序中已打开的页面中进行录制。

    选择“录制”>“录制和运行设置”。在“Windows 应用程序”选项卡中,选择“在任何打开的基于 Windows 的应用程序上录制并运行测试”选项,然后单击“确定”

  5. 单击“录制”。在录制会话开始时,OpenText Functional Testing 主窗口将隐藏。

  6. 在录制工具栏上单击“插入检查点或输出值”下拉箭头 ,并选择“标准检查点”。鼠标指针将变成指向手。

  7. 在 MyFlights 应用程序中,单击航班表。

    将显示“标准检查点”对话框,其中 WpfTable: flightsDataGrid 对象处于选中状态。

  8. 单击“确定”继续操作。

    在显示的“定义行范围”对话框中,确保“所有行”选项处于选中状态,然后单击“确定”

    将显示“表检查点属性”对话框,其中会显示包含单元格 (代表 MyFlights 表) 的表。

    例如:

    默认情况下,所有单元格均处于选中状态,这意味着将检查所有单元格。

  9. 在顶部的“名称”字段中输入 CheckCost 以命名检查点。

    然后,双击网格中的每个列标题以取消选中所有选定项。滚动到右侧以确保所有列均已取消选中。

  10. 滚回第一列,然后双击第 1 行第 0 列的单元格,以仅选择左上角的第一个单元格。例如:

    此单元格中的值应与 SELECT FLIGHTS 页面 (使用 FlightFinder 操作中的值) 上的值相匹配。

  11. 接受其他默认设置,然后单击“确定”

  12. 在录制工具栏上,单击“停止”

    返回到关键字视图中,该检查点步骤已添加到 flightsDataGrid SelectCell 步骤之后。

    在 Editor 中,此测试如下所示:

    WpfWindow("OpenText MyFlight Sample").WpfTable("flightsDataGrid").SelectCell "0", "2" WpfWindow("OpenText MyFlight Sample").WpfTable("flightsDataGrid").Check CheckPoint("CheckCost") WpfWindow("OpenText MyFlight Sample").WpfButton("SELECT FLIGHT").Click
  13. 保存测试,然后继续学习请参阅 "添加文本检查点"

添加文本检查点

在您的测试中添加一个文本检查点,以检查订单是否在 MyFlights 示例应用程序的 Order Details 页面上已完成。

要添加文本检查点,请执行以下操作:

  1. 将 MyFlight 应用程序打开到 ORDER DETAILS 页面。

  2. OpenText Functional Testing 关键字视图中,打开 MyFlightCheckpoint 测试中的 FlightConfirmation 操作。

  3. 选择 ORDER 步骤行。

  4. 配置 OpenText Functional Testing 以在 MyFlight 应用程序中已打开的页面中进行录制。

    选择“录制”>“录制和运行设置”。在“Windows 应用程序”选项卡中,选择“在任何打开的基于 Windows 的应用程序上录制并运行测试”选项,然后单击“确定”

  5. 单击“录制”。在录制会话开始时,OpenText Functional Testing 主窗口将隐藏。

  6. 创建检查点并将其配置为检查“已完成”的文本。

    1. 在“录制”工具栏中单击“插入检查点或输出值”按钮 ,并选择“文本检查点”。鼠标指针将变成指向手。

    2. 在航班预订应用程序中的 Order Details 窗口中,单击窗口中部的 Order # Completed 图形:

      订单号可能会基于您之前是否已运行航班预订应用程序而有所不同。

      将打开“文本检查点”对象选择对话框:

    3. 在“文本检查点”对象选择对话框中,选择 WpfObject 对象,然后单击“确定”。将打开“文本检查点属性”对话框:

    4. 在“文本检查点属性”对话框的“名称”框中,输入 CheckOrderCompletedText 作为新检查点的名称。

    5. 在“检查点摘要”区域下,单击“配置”按钮。将打开“配置文本选择”对话框:

    6. 在“配置文本选择”对话框中,突出显示字符串“已完成”,并单击“检查文本”。“Order #”文本字符串将从红色变为灰色:

    7. 单击“确定”关闭“配置文本选择”对话框。

      在“文本检查点属性”对话框中,“检查点摘要”区域将进行更新以反映您的选择:

    8. 接受其余的默认设置,并单击“确定”。

  7. 在“录制”工具栏上,单击“停止” 以停止录制。

    在包含 ORDER 对象的步骤下面,OpenText Functional Testing 会将包含文本检查点的步骤添加到测试中。它将作为 Order # Completed 对象上的检查点操作显示在关键字视图中:

    在编辑器中,语句如下所示:

    WpfWindow("OpenText MyFlight Sample").WpfObject("Order 91 completed").Check CheckPoint("CheckOrderCompletedText")
  8. 保存测试,然后继续学习请参阅 "运行检查点测试"

运行检查点测试

运行检查点测试以查看检查点的执行情况。如果检查点通过测试,则意味着它们找到了其配置为要查找的数据,并且测试也将通过。

如果一个或多个检查点失败,则测试运行将列为“失败”状态。

要运行检查点测试,请执行以下操作:

  1. 如果 MyFlights 示例应用程序已打开,请将其关闭。
  2. OpenText Functional Testing 中,选择“录制”>“录制和运行设置”

  3. 在“Windows 应用程序”选项卡中,选择“仅在以下应用程序上录制和运行:”选项,并确保选择以下选项:

    • UFT 打开的应用程序(U)
    • 下面指定的应用程序

    您之前定义的 Flight GUI 应用程序详细信息仍然存在。有关更多详细信息,请参阅请参阅 "运行并分析 GUI 测试"

  4. 单击“确定”,然后单击“运行”

  5. 在“运行”对话框中,确保在“测试名称”下拉列表中选择 MyFlightCheckpoint 测试。

    在“结果位置”选项卡中,确保已选中“新运行结果文件夹”选项。

    接受其他默认值。

  6. 单击“运行”以运行测试。在运行结果的测试流中,向下滚动至以下步骤:

    • SelectFlight 操作 > 表检查点: flightDataGrid
    • FlightConfirmation 操作 > 标准检查点: passengerName
    • FlightConfirmation 操作 > 文本检查点: Order <#> completed

    单击每个检查点步骤,以查看有关在测试运行期间找到的数据的详细信息。

继续本教程的请参阅 "使用输出值测试 GUI 应用程序"

参数化乘客姓名

参数化乘客姓名,以使用数据表中的其他姓名。

建议高级用户进行此练习。

FlightConfirmation 操作中,执行以下操作:

  1. 在关键字视图中,选择 passengerName.Set
  2. 选择工具 > 数据驱动器。
  3. 在“数据驱动器”对话框中,选择 Mary Sanchez,然后单击“参数化”
  4. 在“数据驱动器”向导中,选择“全部参数化”和“参数”

  5. 单击“编辑”按钮 ,然后在“名称”字段中输入 passengerName。单击确定

  6. 在“数据驱动器”向导中,单击“完成”。然后单击“确定”。查看代码。

  7. 在“数据”>“全局”工作表中,输入多个乘客姓名。

  8. 运行测试。

参数化检查点

参数化检查点以使用数据表中的其他值。

建议高级用户进行此练习。

FlightConfirmation 操作中,执行以下操作:

  1. 在“编辑”视图中,右键单击 CheckOrderCompletedText 检查点,然后选择“检查点属性”
  2. 选择“参数”,并单击“编辑”按钮
  3. 在“参数选项”对话框的“名称”字段中,输入 CheckOrderCompletedTextChecked_Text,然后单击“确定”

  4. 在“数据”>“全局”工作表中,输入多个检查点名称。

  5. 运行测试。

在对象存储库中管理检查点

在对象存储库中查看检查点以从此处查看属性,尤其是在测试中的多个位置处重用检查点时。

例如,您可能想创建某个检查点来验证公司徽标是否出现在应用程序中的每个页面上。

创建该检查点,并将其插入测试的不同操作中。可以从对象存储库轻松访问该检查点,而不必在每次要更改它时浏览到该检查点所在的位置。

本教程不包括有关重用检查点的信息。

要在对象存储库中查看检查点,请执行以下操作:

  1. 先从在 OpenText Functional Testing 中打开的 MyFlightCheckpoint 测试和 FlightConfirmation 操作开始。
  2. 在工具栏上,单击“对象存储库”按钮
  3. 向下滚动到底部,以查看您在本练习中添加的检查点。
  4. 选择某个检查点以在右侧查看或更新其属性。

后续步骤: