从二进制包安装

在大多数情况下,您可以从二进制包中安装Squish,首先将其解压缩,然后配置以使Squish准备就绪。二进制包适用于Linux、macOS和Microsoft Windows。为每个Squish版本的每个版本都提供了不同的二进制包,以确保Squish、操作系统以及您要测试的应用程序或网站之间尽可能紧密的集成。

二进制包的最低系统需求

二进制包包含squishide和Squish工具(squishrunner、squishserver等)。它们具有不同的最低系统要求。

squishide的最低系统需求

squishide可以安装以下平台

  • Microsoft Windows 7 SP1或更高版本的64位版本
  • GNU/Linux
    • 64位CentOS 7.5或更高版本的64位版本
    • 64位Red Hat Enterprise 7.5或更高版本的64位版本
    • 64位SUSE Linux Enterprise Server 15或更高版本的64位版本
    • 提供GTK 3.20或更高版本的其它64位分发版
  • Apple macOS 12 Monterey或更高版本

注意:Squish的二进制包还可以安装在旧版平台上,但squishide将不可用。对于这些要求,请参见下面的部分。

Squish工具的最低系统需求

Squish命令行工具(squishrunner、squishserver等)可以安装在以下平台

  • Microsoft Windows 7 SP1或更高版本
  • GNU/Linux
    • CentOS 7或更高版本;包依赖项
      • fontconfig freetype libICE libSM libX11 libXdamage libXext libXfixes libXft libXrandr libXtst libstdc++ libxcb libxkbcommon libxkbcommon-x11 xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm zlib
      • libwayland-client(用于Wayland上的AUT)
    • Debian 9或更高版本;包依赖项
      • libfontconfig1 libfreetype6 libice6 libsm6 libstdc++6 libx11-6 libx11-xcb1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxcb1 libxdamage1 libxext6 libxfixes3 libxft2 libxkbcommon-x11-0 libxkbcommon0 libxrandr2 libxtst6 zlib1g
      • libwayland-client0(用于Wayland上的AUT)
    • Ubuntu 18.04或更高版本
    • 提供glibc 2.17和libstdc++ 4.8或更高版本的其它分发布

    Squish为Qt 5.8及以上版本(如Qt 5.9、Qt 6.0、Qt 6.1等)的二进制包与它们的匹配Qt库有相同的要求。例如,Qt 5.9的二进制包与Qt 5.9的二进制包具有相同的要求。

  • Apple macOS 12 Monterey或更高版本

注意:Squish工具(squishrunner、squishserver等)也可以在其他平台上运行(如嵌入式Linux或上述平台的较旧版本),但它们必须从源代码构建,并且必须使用远程测试。

注意:在使用依赖于glibc 2.38或更高版本的Linux发行版时,有必要安装libxcrypt-compat包。

选择正确的Squish包

在选择Squish作为产品后,可以在Qt Customer Portal的下载部分的二进制Squish包。要确定要下载哪个包,您需要知道将用来构建您将要测试的应用程序的工具集。这个工具集可能是:Qt、Java、原生Windows(例如MFC、WinForms或WPF)、macOS(Cocoa或SwiftUI)、Web等。您还需要知道您将要使用哪些操作系统来测试应用程序:Linux、macOS或Microsoft Windows。为了更容易地搜索适合的二进制包,Qt Customer Portal提供了一组有用的过滤器,可以用来仅显示与指定主机操作系统或给定Squish版本(工具集)匹配的包。

如果您将要测试 Qt 应用程序,您需要收集一些额外的技术信息以便选择正确的包

  • 您想要测试的应用程序使用的是哪个版本的 Qt?
  • 编译 Qt 库和您想要测试的应用程序使用的是哪个编译器(及编译器的哪个版本)?

如果您没有这些信息,您需要询问该应用的一位开发者。一旦您知道了操作系统、Squish 版本、工具包版本、编译器名称和版本,您就可以根据以下方式识别正确的 Squish 包:每个 Squish 包名都采用以下形式 squish-<squishVersion>-toolkit<toolkitVersion>-<platform>-<compiler>,并以 .exe(在 Windows 上)、.run(在 Linux 上)或 .dmg(在 macOS 上)结尾。一些包名没有指定 <toolkitVersion>,在这种情况下,该包可以与工具包的任何版本一起使用;另一些包在工具包版本中有一个 x,这意味着它们可以使用具有该位置任意数字的任何工具包版本——因此 qt62x 表示任何 Qt 6.2 版本,Qt 6.2.0,Qt 6.2.1,等等。一些包没有指定 <compiler>,在这种情况下,它们可以与平台上的任何编译器一起使用。下面的表格中显示了一些示例。

针对 macOS 机器的 Squish 包(并且依赖于处理器)在其名称中嵌入处理器识别符,例如,用于 64 位 Intel 处理器的 x86_64。类似地,一些 Java 包在其名称中指定它们是为 32 位或 64 位的 Intel Windows 机器设计的(例如,使用 java-win32java-win64)。但在某些情况下,机器的架构无关紧要。例如,Squish for Windows(即使用本地 MFC 或 .NET 工具包的应用程序)设计为使用所有 Windows 编译器和 Intel 32 位和 64 位 Windows 版本——因此在这种情况下,包名只需要 Squish 版本,例如,squish-8.0.0-windows.exe

示例包名称描述
squish-8.0.0-qt65x-linux64.run适用于在 Linux 上运行并使用 Qt 6.5.x 编译的任何编译器的 64 位 AUT 的 Squish 8.0.0。
squish-8.0.0-qt59x-win32-msvc14.exe适用于在 Windows 上运行并使用 MSVC 14(VS 2015)编译器编译的 32 位 AUT 的 Squish 8.0.0。
squish-8.0.0-qt515x-win64-msvc141.exe适用于在 Windows 上运行并使用 MSVC 14.1(VS 2017)编译器编译的 64 位 AUT 的 Squish 8.0.0。
squish-8.0.0-qt515x-macx86_64.dmg适用于在 64 位 Intel macOS 机器上运行并使用 Qt 5.15.x 和标准编译器编译的 AUT 的 Squish 8.0.0。
squish-8.0.0-web-windows.exe适用于在 Windows 上使用任何浏览器浏览的 Web 的 Squish 8.0.0。
squish-8.0.0-web-linux64.run适用于在 Linux 上使用 64 位浏览器浏览的 Web 的 Squish 8.0.0。
squish-8.0.0-web-mac.dmg适用于在 macOS 上使用任何浏览器浏览的 Web 的 Squish 8.0.0。
squish-8.0.0-java-win32.exe适用于 Java 的一套 Squish 8.0.0 —— 所有的 1.4 或更高版本的 32 位版本,使用 AWT/Swing 或 SWT 在 Windows 上运行。
squish-8.0.0-java-win64.exe适用于 Java 的一套 Squish 8.0.0 —— 所有的 1.4 或更高版本的 64 位版本,使用 AWT/Swing 或 SWT 在 Windows 上运行。

如果您在 Qt 客户端门户中找不到匹配您平台的 Squish 二进制包,最好是从源代码构建 Squish。这将确保 Squish 与您的本地软件配置正确集成。从源代码构建 Squish 的过程请参考 从桌面源包安装 Squish for Qt

包配置

确定您需要哪个 Squish 二进制包后,从 Qt 客户端门户将其下载到您的计算机上,然后执行它。

在 Linux 上配置

在Linux系统中,您需要先使您下载的.run文件可执行。流行的桌面环境允许通过右击文件并启用执行权限来实现这一点。然而,您也可以通过在命令行中执行以下命令来使安装程序可执行:

$ chmod a+x packagename

在Windows、Linux和macOS上配置

安装程序将通过显示多个页面来引导您完成配置过程。

"Squish setup program in action"

如上图(以及随后的几个截图)所示,安装程序正在运行。但是,配置步骤的列表取决于您安装的Squish版本,因此,如果您没有看到以下提到的某些配置页面,或者显示了额外的页面,不必担心。

要更改在配置期间设置的设置,请使用后退按钮返回到相关页面,更改配置设置,然后使用下一步按钮再次前进。

输入许可证密钥

"Squish setup program in action"

通过按下设置程序窗口底部的下一步按钮确认欢迎页面后,下一页将要求您输入Squish许可证密钥或浮动许可证服务器的地址。如果您要输入19个字符的许可证密钥,本节适用于您。如果您想输入浮动许可证服务器的主机名:端口号,请参阅输入浮动许可证服务器地址

如果您已经在您的计算机上安装了以前的Squish版本——可能是评估版本——或者您已经将许可证文件复制到您的HOME目录中,并将其重命名为以句点开头,许可证密钥将在输入字段中显示。如果没有显示许可证,或者您想使用不同的许可证,请在此处精确输入许可证,就像它在您的Qt客户门户的许可证详情部分中显示的那样,包括任何连字符。

许可证文件位置

Windows%HOMEDRIVE%%HOMEPATH%\.squish-license
Linux/Unix/macOS$HOME/.squish-license

要使用存储在其他位置许可证密钥文件,将环境变量SQUISH_LICENSEKEY_DIR设置为所需的路径。请参阅环境变量

单击下一步按钮进入配置过程的下一个步骤。如果许可证有任何问题(例如,如果已过期或输入错误),则将显示消息框,说明问题。然后您可以再次尝试。

输入浮动许可证服务器地址

选择相应的部分以使用Squish的浮动许可证。安装程序将尝试在网络上发现许可证服务器,并将它们填充到下拉菜单中。如果您计划使用的许可证服务器没有列出,您可以在表单(主机名或IP地址:端口)中手动输入服务器地址。当选择有效的服务器地址后,下一步按钮将被启用。

"Squish setup program with a floating license"

单击下一步前进到配置过程的下一个步骤。如果许可证服务器或其许可证有任何问题(例如,服务器不可达或其许可证不包括所需的Squish版本),则将显示消息框,说明问题;然后您可以再次尝试。

认可使用条款

"License text page"

在输入您的许可证密钥或服务器地址后,您将看到许可您的Squish副本使用的许可。在继续之前,请仔细阅读整个许可文本。这样做将启用位于许可文本下面的两个复选框。选中复选框表示您同意或不同意许可协议的条款。当所有条款都被勾选时,您可以通过点击{下一步}按钮继续安装过程。如果您不同意,则不能安装或使用Squish,您应该点击取消按钮(或关闭窗口)以终止安装。

组件选择

在此步骤中,可以通过选择可选组件来自定义Squish的安装。

"Target components page"

基本Squish工具(如squishrunner或squishserver)是必须的,因此始终被选中。然而,其他组件是可选的

  • squishide:您可以选择不安装squishide以节省磁盘空间。这在使用Squish进行自动测试(例如夜间或CI驱动的测试)但不是进行测试开发的情况下可能很有用。
  • Squish文档:此组件包含Squish IDE的离线文档,API参考,教程和版本说明。
  • Squish示例:此组件包括示例应用程序和测试套件。取消选中它将节省一些磁盘空间。但是,对于标准安装来说,建议选中它。

脚本语言

在此步骤中,可以配置用于测试脚本的脚本语言。另外,如果Squish软件包包含某种语言的多个版本,此页面允许选择用于执行测试的版本。请注意,通过运行squishconfig程序,这些设置可以在稍后重新配置。

如果Squish软件包只包含每个脚本语言的单个版本,则此页面不会显示。

"Script language selection page"

安装文件夹

此步骤确定Squish软件包将在您的系统中的哪个位置解压缩。

"Target selection page"

Qt库的路径

如果此步骤是配置一个用于在macOS上测试Qt应用程序的Squish软件包并且您的许可证密钥允许您测试Qt应用程序,则此步骤是必要的。如果上述任一条件不适用,则此配置页面不会出现,在这种情况下,您可以安全地跳到下一节并继续。

"Qt library configuration page"

大多数macOS上的Qt应用程序都包含在应用程序包中的Qt库。如果您的AUT也是这样,请使用Finder导航到AUT,右击它并选择显示包内容,然后转到Contents/Frameworks以找到QtCore.framework。要复制此路径到剪贴板,请选择查看 > 显示路径栏,然后在底部的路径栏中的Frameworks按钮上右键单击,选择将"Frameworks"作为路径名复制,然后将它粘贴到安装对话框中的行编辑中。

指定所需的Qt库的路径后,使用下一步按钮继续设置步骤的下一项。

要在不重新安装Squish的情况下更改Qt库的位置,请发出以下命令

$ SQUISHDIR/bin/squishconfig --qt=/path/to/QtCore.framework

Java设置的路径

本步骤仅在您需要配置用于测试Java应用程序的Squish包或配置用于测试Web应用的Squish包,且您的许可证密钥有权测试Java或Web应用程序时才是必要的。如果这些条件中的任何一个不适用,则不会显示此配置页面,此时您可以安全地跳到下一节并从那里继续。

"Java path configuration space"

要测试Java应用程序,您需要告诉Squish您的Java运行时库安装在哪里。如果您使用的是Java SDK(软件开发包),则必须指定运行库目录——称为jre,它位于SDK目录内部。如果您只有JRE(Java运行环境)安装,指定JRE的目录,而非JRE内部的目录。

指定Java运行库路径后,使用下一步按钮进入设置步骤的下一部分。

准备安装

到此为止,所有配置选项都已被设置,安装已准备好启动。显示一个页面,显示所选Squish配置所需的磁盘空间。

"Configuration review page"

当您在此页面上按下下一步按钮时,显示的配置将被保存到磁盘,Squish将从此使用这些设置。

执行安装

安装程序现在开始将Squish安装到您的系统上。您可以通过点击显示详细信息按钮来查看安装期间执行的操作的详细列表。

"Squish setup program installing a package"

您可以在任何时候关闭安装程序,例如,通过关闭窗口或按下取消按钮(仅在其他平台上的可见)。迄今为止所做的所有更改都将被撤销。

完成配置

恭喜!您已成功完成Squish的配置,并已成功保存所有设置。此页面完成了您Squish二进制包的设置。

"Final page"

单击完成按钮关闭安装程序。将显示一个选项,可以使用此选项定义是否在安装完成后启动squishide

注意:在Windows上安装Squish并需要重新配置时,需要重新启动计算机。在您使用Squish之前重新启动计算机以确保其正常运行。

注意:在macOS上,Squish需要为squishide或终端启用访问权限,才能在菜单中回放交互使用nativeType(keys)nativeMouseClick(x, y, button)函数。在启动squishide或从终端启动squishserver时,将打开一个对话框,引导您完成此过程。有关更多信息,请参阅macOS通用访问

执行无人值守安装

可以完全无人值守地进行Squish的安装,事先传入所有所需值。无人值守安装不需要任何用户交互,相当于手动与安装程序界面进行交互。要执行无人值守安装,从命令行调用Squish安装程序,至少传入参数unattended=1

$ ./squish-8.0.0-windows unattended=1 more options...

该参数将以没有任何图形用户界面的方式启动安装。相反,进度信息潜在的错误消息将写入控制台。

除了unattended=1参数之外,您可能还需要指定进一步参数来指定目标目录、授权密钥和进一步设置。请参阅安装程序参考文档,以获取所有已识别参数的全列。

如果缺少任何必需的值,安装将打印信息并停止,例如:

$ ./squish-8.0.0-windows unattended=1
IFW Version: 2.0.81, built with Qt 5.5.0.
Build date: Nov 30 2015
Installer Framework SHA1: cf9e21b
[0] Language: en
[0] Arguments: ./squish-8.0.0-windows, unattended=1, targetdir=/tmp/foo
[4] Operations sanity check succeeded.
..
[162] Cannot perform unattended installation; target directory not specified.
[162] Please pass 'targetdir=<PATH>' on the command line.

省略可选参数将使安装程序选择合适的默认值。将打印一条消息以指示此情况,以及如何覆盖它。例如,这里是在安装macOS上的Squish for Web包时生成的输出。

..
[569] No Firefox executable specified, using auto-detected path '/Applications/Firefox.app'
[569] Specify 'firefox=<PATH>' on the command line to override this.
[569] No Chrome executable specified, using auto-detected path '/Applications/Google Chrome.app'
[569] Specify 'chrome=<PATH>' on the command line to override this.
..

©2024 Qt公司有限公司。文档贡献的版权归各自所有者。
此处提供的文档是根据自由软件基金会发布的<σ href="http://www.gnu.org/licenses/fdl.html">GNU自由文档许可版本1.3条款许可的。
Qt及其相关商标是芬兰的Qt公司及其它国家/地区的商标。所有其他商标均为其各自所有者的财产。