连接到正在运行的应用程序

概述

Squish 的默认行为是自动启动您要测试的应用程序,并在测试用例结束后终止应用程序。但您也可以通过附加到它来测试已运行的应用程序。一个重要的不同之处在于,在附加结束时,Squish不会终止它附加的应用程序。

附加的一个好处是,它允许您在另一台机器上运行 squishserver 来测试您的应用程序。然而,附加方法也存在一个重要的限制:您一次只能有一个 squishserver 附加到您的应用程序。

使用附加方法的步骤有三个:首先启动 AU 测试平台;其次,注册 AU 测试平台;最后,从脚本中附加到 AU 测试平台。我们将依次讨论这些步骤。

启动 AU 测试平台

为了让 Squish 能够连接到 AU 测试平台,您必须使用 Squish 的 start*aut 命令行工具来启动 AU 测试平台。

用法

startaut [--verbose] --port=port aut [aut-command-line-options]

您必须指定一个网络端口号作为 --port 选项的参数。AU 测试平台将监听此端口号以接收来自 squishserver 的连接。

非常重要,必须先给出 --port 选项,然后再给出 AU,因为任何在 AU 后指定的 aut-command-line-options 选项都作为选项传递给 AU,而不会被 start*aut 使用。

示例

startaut --verbose --port=9999 addressbook

一旦 AU 测试平台运行,我们就可以连接到它。但首先我们必须注册附加的 AU 测试平台以便能够从测试脚本中访问它。

注册可附加的 AU 测试平台

附加到 AU 测试平台的 AU 测试平台必须在 squishserver 设置中注册。在 squishide 中,从 服务器设置,选择 管理 AU 以弹出 管理 AU 面板。选择 可附加 AU 列表项,然后按 添加 按钮。这将弹出 添加可附加 AU 对话框。名称 必须与 ApplicationContext attachToApplication(autName) 传递的第一个参数匹配,并且 端口 必须与使用 start*aut 启动 AU 时使用的端口号匹配。如果附加的可附加 AU 测试平台运行在与 squishserver 不同的主机上,您还必须在此指定 主机

也可以在命令行中注册可附加的应用程序,而无需使用 squishide。例如

$ squishserver --config addAttachableAUT addressbook localhost:9999

有关详细信息,请参阅 squishserver,特别是 配置 squishserver 部分。

从脚本附加

首先,您必须告诉 Squish,当运行测试用例时不要自动启动您要附加的 AU 测试平台。单击项目树中的 套件设置 项,然后在 测试平台(AU) 部分,将 应用程序 组合框的项改为 <无应用程序> 项。

现在Squish将不会为此测试套件中的测试用例启动AUT。我们在前面已经看到如何使用start*aut应用程序启动AUT。但是,为了能够连接到应用程序并与它交互,我们的测试脚本必须附加到它。这通过在测试脚本中调用ApplicationContext attachToApplication(autName)函数并传递它附加到AUT所需的参数来实现。如果您仅使用本地squishserver,则需要仅提供第一个参数(可以附加的AUT名称)。

类似于ApplicationContext startApplication(autName)ApplicationContext attachToApplication(autName)函数返回一个应用程序上下文对象。请参阅应用程序上下文

如果我们附加到AUT,就可以录制测试脚本。要做到这一点,我们只需单击记录),就会显示已注册的AUT列表,允许选择要记录的应用程序。

完成录制后,只需在Squish的控制栏中单击停止录制工具栏按钮,新的测试脚本就会在Squish的编辑器中可见。请参阅在断点后如何录制

默认情况下,Squish允许AUT从首次连接到程序第一次响应之间有长达20秒的时间。这可以被修改;请参阅Squish服务器设置对话框

©2024 Qt公司有限公司。本文档中的文档贡献归其各自所有者所有。
提供的文档在自由软件基金会发布的GNU自由文档许可证版本1.3的条款下获得许可。
Qt及其相应标志是芬兰和/或世界其他国家的Qt公司的商标。所有其他商标均为其各自所有者的财产。