环境变量
在测试 AUT 时必须考虑三个不同的环境
- 测试脚本执行的squishrunner环境。
- squishserver的环境。
- AUT的环境(其中也运行了一些Squish代码)。
对于使用ApplicationContext startApplication(autName)启动的AUT,我们可以在测试套件设置视图的环境部分轻松添加环境变量。此外,squishserver还设置一些环境变量,这些变量对于AUT是可见的。有关更多信息,请参阅设置环境变量。
您可以设置以下环境变量以更改start*aut、squishserver、squishrunner和squishide
的行为。
SQUISH_DUMP_FILE_PATH
– 在Windows平台,此变量在AUT、squishrunner和squishserver的环境中被读取。当设置此值时,定义Squish将存储崩溃进程的转储文件的位置(包括其自身的及AUT进程)。此变量的默认值指向用户临时文件目录下名为SquishDumps的目录。SQUISH_DUMP_FILE_USE_MSGBOX
– 在Windows平台的AUT、squishrunners和squishserver的环境中读取。如果设置为1(默认值),当Squish检测到其自身进程或AUT进程中的崩溃时,将显示一个对话框,指示如何找到崩溃的转储文件。当设置为0时,Squish不会显示对话框,而是将包含转储文件路径的消息打印到进程的输出。建议将此环境变量设置为0,以便自动执行Squish测试,因为对话框会阻止测试的进一步执行。SQUISH_LIBQTDIR
– Squish钩接代码在QTAUT环境中以及squishserver读取此变量。如果已设置,在AUT启动和钩接过程中,Squish将在由此变量指定的目录中查找Qt库。注意:
SQUISH_LIBQTDIR
已弃用。自Qt 5以来,此变量仅在Windows上工作。如果在AUT启动期间Squish找不到Qt库,请使用Linux上的LD_LIBRARY_PATH
、MacOS上的DYLD_LIBRARY_PATH
或DYLD_FRAMEWORK_PATH
或Windows上的PATH
来帮助操作系统找到Qt库。SQUISH_LICENSEKEY_DIR
– Squishrunner和(间接地)squishide
读取此变量。如果已设置,Squish将在由此变量指定的目录中查找Squish许可证密钥文件;否则,在Unix-like系统上将在$HOME
中查找,在Windows系统上将在%HOMEPATH%
(如果%HOMEPATH%
未定义,则为%USERPROFILE%
)中查找。SQUISH_PREFIX
– 在启动脚本引擎之前,squishrunner设置此变量;在AUT启动之前,squishserver也设置此变量。此变量可以用于从测试用例以及从AUT中查找Squish的安装目录。SQUISH_QML_EXTENSION_PATH
– Squish的钩接代码在基于Qt的AUT环境中读取此变量。如果已设置,Squish将在由此变量指定的目录中,除标准扩展目录外,还查找QtQuick 1.x的QML扩展。有关详细信息,请参阅安装QML扩展。SQUISH_QTQUICK_EXTENSION_PATH
– Squish 钩子代码会从 AUT 的环境中读取此变量。如果设置了,Squish 将在标准扩展目录之外,还在此变量指定的目录中查找 QtQuick 2.x 扩展。请参阅 安装 QML 扩展。SQUISH_SCRIPT_DIR
– squishrunner 和squishide
会读取此变量。后者会将此环境变量中包含的路径添加到全局脚本视图中。如果设置为1,Squish 将在测试用例的脚本目录和测试套件的共享脚本目录中查找脚本文件之外,还会在此变量指定的目录中搜索。搜索还包括
paths.ini
文件中列出的路径 - 它们将先于这个环境变量中的路径尝试;请参阅 初始化文件 和 String findFile(where, filename) 函数。SQUISH_DLLPRELOAD_DISABLE
– squishserver 在 Windows 上的基于 Qt 的 AUT 中读取此变量。如果设置为1
,dllpreload程序将不会注入任何代码到 AUT 进程,而是立即启动它,即 dllpreload 仅执行给定的命令行,不提供任何额外功能。这在涉及各种脚本以启动测试的复杂测试场景中非常有用,并且在没有修改启动器脚本的情况下禁用 dllpreload 在某些情况下提供的功能是可取的。
SQUISH_SHELL_ORIG_LD_LIBRARY_PATH
– 在 Linux 系统上,squishrunner 和 squishserver 会修改LD_LIBRARY_PATH
变量以帮助 Squish 寻找库。此变量的原始值在这里可用。SQUISH_SHELL_ORIG_PATH
– 在 Windows上,squishrunner 和 squishserver 会修改PATH
变量以帮助 Squish 寻找 DLLs。此变量的原始值可以在这里找到。SQUISH_TRANSLATION_AWARE_LOOKUP
– 当测试 Qt AUTs 时,Squish 会读取此变量。如果设置为 1,Squish 将尝试在匹配 AUT 对象属性时进行反向翻译。请参阅 如何测试国际化的 Qt AUTs。SQUISH_USE_SWT
– Squish 钩子代码从 AUT 的环境中读取此变量,用于基于 Java SWT 的 AUTs。这可以在使用 Java SWT AUTs 进行测试的 macOS 系统上设置为1
。对于任何最近的基于 Eclipse/RCP 的应用程序(它们在eclipse.ini
中具有所需 -XstartOnFirstThread 选项),则不需要此设置。SQUISH_USER_SETTINGS_DIR
– Squish 钩子代码、squishrunner 和 squishserver 会读取此变量。如果设置了,Squish 将使用此目录来加载和存储其用户设置,而不是默认位置。在 Windows 上,这是%APPDATA%\froglogic\Squish
,而在 Unix-like 系统上(Linux、macOS 等),它是~/.squish
。SQUISH_WRAPPER_PATH
– squishserver 会读取此变量。如果设置了,在尝试定位包装库时,Squish 将在 AUT 路径列表中的所有路径之外,也将在此变量中指定的所有路径中搜索。有关 AUT 路径的更多信息,请参阅 AUT 路径和映射 AUTs。SQUISHIDE_TOOLS_PACKAGE_DIRECTORY
- 为squishide
设置 Squish 命令行工具应使用的目录。这是一个替代命令行参数-toolsPackage
的方法。有关更多信息,请参阅 squishide 的命令行参考。
测试脚本可以使用脚本语言特定的技术访问环境变量。例如,在Python中,我们可以使用home = os.environ["HOME"]
(在脚本顶部已执行import os
),而在JavaScript中,我们可以使用var home = OS.getenv("HOME");
。测试脚本还可以通过检索ApplicationContext
对象并使用String applicationContext.environmentVariable(name)函数来访问AUT的环境;请参见应用程序上下文。
Squish还支持其他环境变量,但与上述必须在使用Squish之前设置的环境变量不同(例如,通过使用shell脚本或批处理文件来设置它们并运行squishide
),其他环境变量可以在Squish内部使用测试套件设置视图的环境部分设置;有关更多详细信息,请参阅为AUT设置环境变量。
©2024 The Qt Company Ltd. 本文档贡献的版权归各自所有者。
提供的文档根据Free Software Foundation发布的GNU自由文档许可协议版本1.3的条款授权。
Qt及其相关标志是The Qt Company Ltd在芬兰和/或其他国家/地区的商标。所有其他商标均是各自所有者的财产。