squishrunner
sqnishrunner工具用于执行和记录测试用例和测试套件,并在运行时设置和检索所需的设置。本节描述了其不同的使用模式
--testsuite
--record
--info
--config
--testcase
--帮助
--版本
注意:在几乎所有情况下,为了使用squishrunner
,必须已经有一个squishserver
正在运行。
每个使用模式都可以接受零个或多个服务器选项。如果您未指定--host
和--port
选项,Squish将使用它们合理的默认值。
服务器选项
选项 | 描述 |
---|---|
--host 主机 | 默认情况下,squishrunner 连接到本地主机(127.0.0.1)上的squishserver 。如果您希望squishrunner 连接到运行在不同机器上的squishserver ,请使用此选项。 |
--port 端口号 | 默认情况下,squishrunner 尝试连接到端口号为4322的squishserver ,这是squishserver 默认监听的端口号。如果您已告诉squishserver 在另一个端口号上监听,请使用此选项告诉squishrunner 它应连接到squishserver 的哪个端口号。 |
--debugLog 命令 | 将额外的调试信息输出到squishserver 的调试日志。 |
示例
以下命令执行指定测试套件中的所有测试用例,并输出所有可用的附加调试信息
squishrunner --debugLog alpw --testsuite /home/reggie/squish_addressbook_py
在这里,alpw
不是一个单一的命令,而是一个字母命令列表:a
,l
,p
和w
。任何都可以指定,例如ap
或w
。这些字母的含义是:
a
- 记录应用程序的启动。这与在首选项对话框的Squish面板的日志记录子面板中勾选squishide
的应用程序启动复选框相同。l
- 记录dllpreload.exe(这仅适用于Windows;在其它平台使用时将被安全忽略)。p
- 记录预加载阶段。这与在首选项对话框的Squish面板的日志记录面板中勾选squishide
的挂载复选框相同。w
- 记录包装阶段。这与在首选项对话框的Squish面板的日志记录面板中勾选squishide
的包装库复选框相同。
suite.conf 文件
当使用--testsuite
选项执行squishrunner
时,它将读取测试套件根目录中的suite.conf
文件,并且它的行为将受到那些文件中指定的选项的影响。许多这些设置可以使用squishide
的测试套件设置视图查看和编辑。
选项 | 描述 |
---|---|
AUT =aut [参数]* | 每个测试用例启动的自动测试程序(AUT),以及启动AUT时可选的任何命令行参数。这可以通过squishrunner命令行中的--testsuite 和--testcase 选项的--aut 选项来覆盖。使用--aut 选项时,测试套件设置中的自动启动AUT选项必须启用。 |
CLASSPATH | 在Squish for Java中设置Java CLASSPATH 。 |
CWD =路径OrMagic | AUT测试时的工作目录。如果此选项不存在或其值为空,AUT的工作目录设置为AUT可执行文件的路径。如果值不为空,则取为要使用的路径(例如,C:\temp );除非它具有两个“魔法”值之一。一个魔法值是<AUT_path> ,这意味着使用AUT可执行文件的路径(与值为空时相同)。另一个魔法值是<CWD_of_Server> ,これによりAUT的工作目录设置为squishserver 的工作目录。此设置通常通过squishide 设置;见测试套件设置视图的工作目录面板。 |
ENVVARS =文件名 | 包含一个或多个VARIABLE=VALUE 对的文件,这些对定义了在AUT执行期间应有效力的环境变量及其值。Squish将确保每个AUT运行之前正确设置环境。这可以通过squishrunner命令行中的--testcase 选项和--record 选项来覆盖,通过使用--envvars 选项。或者,当使用具有--testcase 和--record 选项的--testcase 选项时,可以使用一个或多个--envvar 选项指定单个额外的环境变量。 |
HOOK_SUB_PROCESSES =布尔值 | Squish是否应该挂钩由AUT启动的子进程。布尔值应该是true 或1 或false 或0 。此设置通常通过在测试套件设置视图的应用程序(AUT)面板中的squishide 中设置。 |
IMPLICITAUTSTART =布尔值 | Squish是否应该自动启动AUT。这对于Squish 3脚本来说是常见的;但对于Squish 4来说,此设置通常为false ,并且通过使用ApplicationContext startApplication(autName)函数在测试脚本中启动AUT。布尔值应该是true 或1 或false 或0 。此设置通常通过在测试套件设置视图的应用程序(AUT)面板中的squishide 中设置。 |
LANGUAGE =语言 | 测试脚本使用的脚本语言。目前这必须是JavaScript 、Python 、Perl 、Ruby 或Tcl 。这可以通过在squishrunner命令行中使用具有--testcase 选项的--lang 选项来覆盖。 |
NAMINGSCHEME =方案 | 如果存在,命名方案 必须是MULTIPROP 或HIERARCHICAL 。通常,最好使用MULTIPROP (默认),除非对于Tk应用程序使用HIERARCHICAL 。 |
OBJECTMAP =文件名 | 默认情况下,Squish 从测试套件的根目录下的 objects.map 文件读取测试套件的象素映射。如果在这里指定了不同的文件名(包括完整路径),Squish 将使用指定的文件而不是读取默认文件。(这可以通过在 squishrunner 的命令行中使用 --testcase 选项来覆盖,当同时使用 --record 选项时,通过使用 --objectmap 选项。)此配置设置仅适用于 文本型的象素映射。 |
TEST_CASES =测试用例 [测试用例]* | 一个或多个测试用例名称的空格分隔列表。如果运行整个测试套件,例如,通过使用 --testsuite 选项并在没有 --testcase 选项的情况下指定要运行的测试用例,每个 测试用例都将运行。如果每个测试用例都运行并且设置了此 TEST_CASES 选项,则将首先运行所提供的测试用例(按指定顺序),然后运行那些未列出的测试用例(如果有的话)。此外,此选项用于由 |
WRAPPERS =包装器 | 必须加载这些 包装器 以使测试成功运行。当前支持的是 Qt 。此外,还可能指定要加载的 AUT 特定绑定库(应用程序包装器)的数量。这可以在 squishrunner 的命令行上使用 --testcase 选项的 --wrapper 选项来覆盖。使用 Squish 4 的测试很少需要使用此选项。 |
在 suite.conf
文件中使用的值也可以引用环境变量。此语法为 $(ENVVAR)
。当读取此类条目时,它实际上被替换为具有相同名称的环境变量的值。因此,如果存在一个名为 MAIL
的环境变量,其值为 /var/spool/mail/reggie
,如果在 suite.conf
文件中使用 $(MAIL)
,它将被替换为 /var/spool/mail/reggie
。
squishrunner –testsuite: 在批量模式下运行测试
使用 --testsuite
选项与 squishrunner 一起使用,可执行测试套件的所有测试用例或一个或多个指定的测试用例。
用法
squishrunner
[服务器选项] [设置选项] --testsuite
测试套件目录 [其他选项]
方括号中所有项都是可选的。《服务器选项》在服务器选项 中描述。《设置选项》和《其他选项》将在下一节中进行讨论。在此模式下使用时,squishrunner 的行为会受到测试套件的 suite.conf
的影响。有关更多信息,请参阅 suite.conf 文件。
设置选项
有一个 已弃用 的 设置选项
- [
--settingsGroup
设置组]
此选项使您能够指定要使用哪个设置组。设置组已弃用,并且在 squishide
中没有支持。此选项的存在纯粹是为了向后兼容。
其他选项
有几个 其他选项
--local
--resultdir
结果目录--reportgen
报告生成器[,文件名|目录]--testcase|--skip-testcase
测试用例目录*--interactive
--abortOnFail
--enable-video-capture
--webbrowser
浏览器--webbrowserargs
参数--applauncher
启动器--launcherargs
参数--device
序列号--exitCodeOnFail
代码--snoozeFactor
系数--timeout
秒数--retry
次数--scriptargs
[脚本参数]*--tags
标签]*--random
[序列号]--aut
aut [参数]*
方括号不是语法的一部分,它们表示可选项目。在这里,每个选项都是可选的,某些选项的部分也是可选的。*
表示该选项可以出现零次或多次,而|
表示可选择的替代内容。
有关播放相关选项的更多详细信息,请参阅播放选项 –testcase 或 –skip-testcase。
squishrunner --local
:启动和停止本地 squishserver
squishrunner 可以在测试套件播放期间自动启动和停止本地 squishserver 进程。使用此选项意味着无需 --host
或 --port
选项,也不需要启动单独的 squishserver 进程。
squishrunner --resultdir
:设置结果目录
--resultdir
选项与基于文件的报告生成器(stdout、xmljunit、xml2)一起使用,并确定保存测试报告和(如果有)失败的屏幕截图文件的位置。
注意:此选项与基于目录的报告生成器(json、html、xml3)的使用冲突,指定它会导致错误。在文件型和目录型报告生成器组合(如.junit 和.xml3)的情况下,需要删除此选项,目录型报告生成器将隐式地将其设置为从其配置中指定的目录。
squishrunner --reportgen
:生成报告
Squish 支持同时使用多个报告生成器,但有一个限制,最多只能有一个基于目录的生成器。
使用 squishrunner --help
查看支持的生成器列表。
某些生成器在没有指定目标位置的情况下输出到控制台。
注意:通常建议使用任何报告生成器的最新版本。
HTML 报告生成器
生成一个静态 HTML 页面,显示存储在 json 数据中的结果。此报告生成器已弃用,请考虑使用 testcentercmd 工具或 Squish 测试中心报告生成器代替。
注意:此生成器不能与 XML 报告生成器或 JSON 报告生成器一起使用。
squishrunner --testsuite test-suite-dir --reportgen html,report-dir
JSON 报告生成器
生成专用于Squish的定制JSON结果格式,旨在由HTML报告生成器内部使用。此报告生成器已过时,请考虑使用testcentercmd工具(见处理测试结果)或Squish测试中心报告生成器。
json1.2
(Squish 6.3和更新版)squishrunner --testsuite test-suite-dir --reportgen json1.2,report-dir
json1.1
(Squish 6.1和更新版)squishrunner --testsuite test-suite-dir --reportgen json1.1,report-dir
json
(Squish 6.0和更新版)squishrunner --testsuite test-suite-dir --reportgen json,report-dir
JUnit报告生成器
junit
生成器输出报告的格式与JUnit测试相同,以XML格式的单个文件形式。
squishrunner --testsuite test-suite-dir --reportgen junit,reportfile.xml
较老的xmljunit
生成器以与JUnit测试相同的格式输出报告,以XML格式的单个文件形式。然而,由于它在Squish的BDD支持之前发布,因此它在其生成的测试报告中没有保留测试用例和BDD测试结构,以及与junit
生成器的报告一样。
squishrunner --testsuite test-suite-dir --reportgen xmljunit,reportfile.xml
无报告生成器
不生成报告,这在不需要默认的stdout输出时很有用。
squishrunner --testsuite test-suite-dir --reportgen null
stdout报告生成器
一个ASCII纯文本表格,当未指定其他生成器时,由squishrunner使用。
squishrunner --testsuite test-suite-dir
或者
squishrunner --testsuite test-suite-dir --reportgen stdout
stdout报告生成器可以接受一个可选的目标文件名
squishrunner --testsuite test-suite-dir --reportgen stdout,reportfile.txt
Squish测试中心报告生成器
用于上传到Squish测试中心。
squishrunner --testsuite test-suite-dir --reportgen testcenter,url/project/project-name?token=token
token
是上传令牌,由Squish测试中心用户设置创建。有关详细信息,请参阅Squish测试中心文档。
完整的url
也可以包含一个查询,指定哪些标签或批次应用于结果。请参阅Squish测试中心文档中的示例。
Excel电子表格报告生成器
squishrunner --testsuite test-suite-dir --reportgen xls,reportfile.xml
XML报告生成器
XML报告生成器有多种版本,每个新版本都会添加更多详细信息。它主要用于内部工具和Squish测试中心,生成的报告不适用于手动浏览。
xml3.5
(Squish 7.0和更新版)squishrunner --testsuite test-suite-dir --reportgen xml3.5,report-dir
增加了视频捕获的支持。同时提高了时间属性的精度(现在包含毫秒)。
xml3.4
(Squish 6.5和更新版)squishrunner --testsuite test-suite-dir --reportgen xml3.4,report-dir
允许查看结果附件、屏幕截图以及脚本回溯。
xml3.3
(Squish 6.4和更新版)squishrunner --testsuite test-suite-dir --reportgen xml3.3,report-dir
图像可以在Squish测试中心中查看。
xml3.2
(Squish 6.3和更新版)squishrunner --testsuite test-suite-dir --reportgen xml3.2,report-dir
使用一个新的
<retry>标签,并报告测试用例和场景的重试。
假设有一个名为suite_myapp的测试套件,一个名为tst_case1的测试用例,一个名为report-dir的my_app_results,并且假设一个图像验证点失败,squishrunner将写入:my_app_results/results.xml
和my_app_results/suite_myapp/tst_case1/verificationPoints/failedImages/failed_1.png
。
注意:为保持向后兼容,保留了旧版XML格式,如 xml3.1
、xml3
、xml2.2
、xml2.1
、xml2
和 xml
。这些格式中 older than xml3
的将使用文件名而不是目录。
回放选项 --testcase
或 --skip-testcase
默认情况下,将执行所有测试套件的测试用例,但如果我们想指定要执行的特定测试用例或测试用例,可以通过为每个想执行的测试用例提供1个或多个 --testcase
测试用例目录 选项来实现。此外,使用 --skip-testcase
测试用例目录 选项可以跳过测试用例。
示例
squishrunner --testsuite /home/reggie/suite_addressbook --testcase tst_add_address --testcase tst_edit_address
以下示例展示了如何在 suite_addressbook
套件中运行两个特定的测试用例。如果我们想运行套件中的所有测试用例,只需简单省略两个 --testcase
选项,因为没有这些选项,squishrunner 将默认运行套件中的所有测试用例。如果我们想运行所有测试用例 除了 tst_add_address
,可以这样做
squishrunner --testsuite /home/reggie/suite_addressbook --skip-testcase tst_add_address
回放选项 --enable-video-capture
squishrunner 将自动启动通过 ApplicationContext startApplication(autName) 或通过 ApplicationContext attachToApplication(autName) 启动或附加的任何应用程序的桌面视频捕获。视频将作为报告的一部分存储,就像使用了 test.startVideoCapture(message) 函数一样,一旦应用程序终止或断开连接,视频就会结束。测试报告将在捕获开始和停止时使用包含应用程序上下文名称的消息来记录相应的开始和结束条目。
回放选项 --aut
默认情况下,将在测试套件的 suite.conf
文件中指定的AUT用于执行测试用例,以及在该文件中指定的任何命令行参数。但是,我们可以通过指定AUT的名称来覆盖此设置,使用 --aut
aut 选项,后跟0个或多个命令行参数。指定的AUT必须已注册为 映射AUT,并且测试套件设置中的 默认启动AUT
选项必须已检查/启用。(另见套件.conf 文件。)
回放选项 --interactive
默认情况下,squishrunner 以非交互模式运行,允许它在没有任何类型图形显示的情况下运行。但是,为了使用任何 testInteraction
函数(参见testInteraction 函数),squishrunner 必须以交互模式运行。传递 --interactive
选项来启用交互模式,这将允许 squishrunner 显示对话框和消息框。
回放选项 --abortOnFail
带有 --testsuite
选项的 squishrunner 将逐个执行所有测试套件的测试用例。如果指定了 --abortOnFail
选项,一旦检测到失败的测试用例,squishrunner 将终止套件执行。
回放选项 --webbrowser
在录制Web测试时,可以通过--webbrowser
浏览器选项指定要使用的浏览器。这些浏览器可以是:firefox
(Firefox)、ie
(Microsoft Internet Explorer)、edge
(Microsoft Edge)、safari
(Safari)、google-chrome
(Google Chrome)或chromium-based
(基于Chromium的应用)。
此外,还可以通过传递--webbrowserargs
选项来调用选择的Web浏览器,并附带您的命令行参数。
回放选项--device
--device
选项仅适用于Squish Android版本。如果有多个Android设备和/或模拟器连接时,需要在--device
选项中指定应用程序应该测试的设备。
回放选项--snoozeFactor
大多数现代测试使用waitForObject(objectOrName)函数,但出于各种原因,某些测试可能会调用snooze(seconds)函数。为了影响由snooze(seconds)函数触发的延迟,可以使用--snoozeFactor
因子选项。这个因子必须是一个数字——如果小于1(例如,0.5这样的分数),则会造成更短的延迟,如果大于1,则会造成更长的延迟。因子为0会产生最快可能的执行。
回放选项--exitCodeOnFail
默认情况下,squishrunner在出现致命错误时返回非零值,在其他情况下返回0,不论测试结果如何。如果设置了--exitCodeOnFail
选项并定义了特定的退出代码(介于0到255之间),则squishrunner将在致命错误发生或任何测试用例失败时返回自定义的退出代码,在其他情况下返回0。
回放选项--timeout
--timeout
选项定义了(以秒为单位),在指定时间后,不论测试用例的状态如何,将终止测试用例。该选项仅在--testsuite
模式下适用,并接受正整数值。在测试用例超时后,它会终止执行,然后执行将继续下一个测试用例。
回放选项--retry
--retry
选项定义Squish再次执行失败测试用例的最大次数(最多)。当当前测试用例通过时,这种重试将结束。该选项仅适用于--testsuite
模式,并仅接受正整数值。对于BDD测试,--retry
选项适用于特性的每个场景。
回放选项--scriptargs
--scriptargs
选项表示squishrunner参数的结束。所有后续参数都将传递到执行的脚本中,脚本可以将它们处理。请参阅OS.argv了解如何从JavaScript数组中访问脚本参数的示例。Python标准库提供了sys.argv来完成相同的功能。Perl、Ruby和Tcl分别有类似的变量,分别称为@ARGV、ARGV和$argv。
回放选项--tags
可以使用 --tags
选项来执行与给定标签过滤器匹配的测试脚本或 BDD 场景。可以从特性文件标签中省略开头的 '@' 符号。下面是关于 --tags
选项的一些示例
选项 | 描述 |
---|---|
–tags foo | 执行所有带标签 foo 的场景或测试脚本 |
–tags ~foo | 执行所有未带标签 foo 的场景或测试脚本 |
–tags foo,bar | 执行所有带标签 foo 或 bar (或两者皆可)的场景或测试脚本 |
–tags foo –tags bar | 执行所有同时带标签 foo 和 bar 的场景或测试脚本 |
–tags foo,bar –tags yoyo | 执行所有带标签 yoyo 且有一个或两个 foo 和 bar 标签的场景或测试脚本 |
有关如何 @tag BDD 场景的示例,请参见 此页面。
回放选项 --random
选项 --random
用于在随机顺序中执行测试用例。报告中将打印使用的序列号,作为日志消息。如果需要重现特定顺序,可以将序列号作为 --random
选项的参数给出。这可以用于重现随机测试执行过程中发生的失败。序列号 0 表示生成新的序列号。它具有省略选项值时相同的行为。
squishrunner --record
:记录测试用例
使用带 --testsuite
和 --record
选项的 squishrunner 在测试套件中记录新的测试用例。
用法
squishrunner
[server-options] --testsuite
test-suite-dir --record
tst_test-case-dir [other-options]
方括号中的所有项目都是可选的。关于 server-options 的描述请参见 服务器选项。关于 other-options 的讨论将在下面进行。在此模式下使用时,squishrunner 的行为会受到测试套件的 suite.conf
的影响;请参阅 suite.conf 文件。 tst_test-case-dir 是测试用例的名称(以及它将被存储的目录)—它必须以 tst_
开头。
示例
squishrunner --testsuite /home/reggie/suite_addressbook --record tst_search_for_address --useWaitFor
此示例将导致 squishrunner 执行测试套件的 suite.conf
文件中指定的 AUT。您与 AUT 的所有交互都将记录在测试套件的 tst_search_for_address
子目录下的 test.py
文件中(或根据 suite.conf
文件中指定的语言,是 test.js
等)。
要保存记录的脚本文件并退出 squishrunner,请按 Ctrl+c。
我们使用了 --useWaitFor
选项。这强制 Squish 使用 waitForObject(objectOrName) 函数而不是 snooze(seconds) 函数以提供最佳可能的回放可靠性。
其他选项
还有一些 other-options
--useWaitFor
--testdata
testdata*--disableEventCompression
--webbrowser
浏览器--webbrowserargs
arguments--aut
aut [参数]*
方括号不是语法的一部分—they 表明可选项目。在这里,每个选项都是可选的。 *
标识了一个可以出现零次或多次的选项。
录制选项 --disableEventCompression
默认情况下,squishrunner在录制时使用事件压缩——这意味着鼠标移动和拖动会导致高级API调用,而不是大量中间鼠标悬停和移动事件。如果使用--disableEventCompression
,则关闭此压缩。此选项仅适用于Qt小部件。
录制选项 --webbrowser
在录制模式中,--webbrowser
和--webbrowserargs
与回放模式中的行为相同,请参阅播放选项 –webbrowser。
录制选项 --aut
默认情况下,测试套件suite.conf
文件中指定的AU(自动测试单元)将用于测试用例的录制,以及在该文件中指定的任何命令行参数。但是,我们可以通过使用--aut
aut选项指定AU的名称(带有完整路径)来覆盖此设置,后跟零个或多个命令行参数——如果有参数指定,它们会在启动时传递给AU。(也请参阅套件.conf 文件。)
执行测试用例(高级)
使用squishrunner的--testcase
选项来执行或录制特定的测试用例。使用--testsuite
选项比使用此高级选项更简单、更方便;请参阅squishrunner –testsuite:批处理模式运行测试和录制测试用例。
用法
squishrunner
[服务器选项] --testcase
tst_test-case-dir [其他选项]
方括号中的所有项都是可选的。《服务器选项》在服务器选项中描述。《其他选项》将在稍后进行讨论。
请注意,squishrunner需要在--testcase
模式下正确运行而需要知道各种信息。确保其具有所需信息的一种方法是使用--wrapper
选项、--objectmap
选项等逐个指定各项。
示例
squishrunner --testcase tst_update_address --aut addressbook
此示例启动地址簿应用程序并执行指定的测试用例。由于没有明确指定语言,Squish将假定Tcl。同样,如果使用--record
选项,Squish将写入Tcl。当然,我们可以像接下来将要看到的那样更改这一点。
其他选项
方括号不是语法的一部分——它们表示可选项。在这里,每个选项都是可能可选的。星号(*)表示可以出现零次或多次的选项,而竖线(|)表示可替换的可选。
squishrunner将假定脚本语言(执行或录制)为Tcl,除非使用了--lang
language选项。如果脚本没有对ApplicationContext startApplication(autName)的调用,则必须使用--aut
aut选项指定AU。
选项 | 描述 |
---|---|
--record | 录制测试用例。如果省略此选项,将执行测试用例。 |
--explicitAutStart | 在录制中包含对ApplicationContext startApplication(autName)函数的调用。这对于由squishide 创建的测试套件很有用,这些测试套件在执行测试用例时不会自动启动AUT。 |
--testdata testdata* | 零个或多个测试数据文件。 |
--lang language | 从Squish默认脚本语言(Tcl)切换到指定的 语言:JavaScript、Python、Perl、Ruby或Tcl。 |
--disableEventCompression | 默认情况下,squishrunner在录制期间使用事件压缩。这意味着常见的事件序列会导致高级API调用,而不是大量底层事件。此选项关闭压缩,不推荐使用。 |
--snoozeFactor 系数 | 大多数现代测试使用Object waitForObject(objectOrName)函数,但由于各种原因,某些测试可能需要对snooze(seconds)函数的调用。使用此选项来影响snooze(seconds)函数触发的延迟。 因子必须是一个数字。如果它小于1(即十进制分数,例如0.5),就会导致更短的延迟。如果它大于1,就会导致更长的延迟。因子为0将产生最快可能的执行。 |
--reportgen report-generator[,filename] | Squish可以生成关于测试用例执行过程中发生情况的详细报告。支持多个不同的报告生成器。使用此选项指定要使用的一个,以及要写入报告的文件。例如,--reportgen xml3.5,/tmp/results 。注意逗号(,)是必需的。有关所有报告生成器格式的列表,请参阅squishrunner –reportgen: Generating Reports。 |
--wrapper wrapper* | 测试用例所需的一个或多个wrapper。 |
--envvars filename | 测试用例的全部环境。文件名指定了一个包含键入值键(key=value),每行一个,将被设置为环境变量的文件的完整路径。 |
--envvar key=value* | 覆盖一个或多个环境变量。 |
--cwd @app|@server| path | 默认情况下,squishrunner将在执行或录制测试用例时使用当前工作目录。使用@app来使用AUT的目录作为工作目录,或使用@server来使用squishserver的目录,或使用path来指定一个明确的绝对路径。 |
--objectmap filename | 当使用基于文本的对象映射时,测试用例本身必须使用objectMap.load(filename)来加载对象映射。或者,您可以使用此选项指定对象映射的完整路径以读取(如果正在执行或录制测试)或创建或追加(如果正在录制测试)。 |
--webbrowser 浏览器 | 执行Web测试时使用的浏览器:firefox (Firefox)、ie (Microsoft Internet Explorer)、edge (Microsoft Edge)、safari (Safari)、google-chrome (Google Chrome)或chromium-based (基于Chromium的应用程序)。 |
--webbrowserargs arguments | 使用命令行参数调用所选的Web浏览器。 |
--interactive | 默认情况下,squishrunner以非交互模式工作,这允许在没有访问任何类型的图形显示的情况下运行。要使用任何测试交互函数,squishrunner需要以交互模式运行。使用此选项启用交互模式,将允许squishrunner显示对话框和信息框。 |
--aut aut [参数]* | 如果测试用例不使用ApplicationContext startApplication(autName)函数,则必须使用此选项指定AUT(包括完整路径),然后跟上零个或多个命令行参数。如果指定了任何参数,它们将在启动AUT时传递给它。 |
查询信息
使用 squishrunner 和 --info
选项来查询各种信息项。
用法
squishrunner --info
主题
示例
这将在控制台上打印已注册的自动化测试单元(AUTs)及其路径列表。
squishrunner --info applications
主题
以下表格描述了每个可用 主题 值输出的信息。与 squishrunner 一样,Squish 在运行时需要一个 squishserver。
选项 | 描述 |
---|---|
androidDevices | 所有附加的安卓模拟器或设备实例的列表。 |
androidInstrumentation | 所有附加的安卓模拟器或设备实例上安装的仪器包列表。 |
applications | 位于 squishserver 的应用程序路径中的所有应用程序列表,并且可以使用当前的设置通过 Squish 进行测试。 |
attachableApplications | 所有已注册的可附加应用程序列表。 |
autPaths | 当 squishserver 启动一个 AUT 时,在此路径中查找应用程序的路径列表。此值可以通过使用 squishserver 的 --config addAppPath 或 --config removeAppPath 选项进行更改。请参阅配置 squishserver。 |
AUTPMTimeout | Squish 在应用程序退出后需要等待多少毫秒来结束 squishrunner。在某些配置中,第一个进程从第一个进程中启动,第二个 Squish 连接发生在第一个进程退出之后。此值可以通过使用 --config setAUTPostMortemTimeout 选项进行更改。请参阅 配置 squishrunner。 |
AUTTimeout | squishrunner 在启动 AUT 后会等待多少秒,如果 AUT 在启动后没有响应,则超时导致测试失败。此值可以通过使用 --config setAUTTimeout 选项进行更改。请参阅 配置 squishrunner。 |
cursorAnimation | 开启,如果在脚本回放期间应动画化鼠标光标(在位置间视觉移动)。否则,关闭。此值可以通过使用 --config setCursorAnimation 选项进行更改。请参阅 配置 squishrunner。 |
defaultWebBrowser | 用于网络测试的网页浏览器的名称。 |
iosSimulatorDevices | 可用的 iOS 模拟器设备的列表。需要在安装了 Xcode 的 macOS 机器上运行 squishserver。 |
javaPath | 对于 squishserver 配置使用的 Java 安装的前缀。此值可以通过使用 squishserver 的 --config setJavaVM 选项进行更改(需要 Java 可执行文件的路径,而不是其安装前缀)。请参阅 配置 squishserver。 |
responseTimeout | Squish 在 (主要基于网络的) squishserver 和 squishrunner、以及其他 Squish 组件之间的通信失败之前需要等待多少秒。此值可以通过使用 --config setResponseTimeout 选项进行更改。 |
settingsKey (已弃用) | 此 Squish 安装的设置密钥,例如 ver1。 |
webBrowsers | 检测到的系统网页浏览器的列表。 |
wrappers | 已安装的包装器的列表。 |
配置 squishrunner
使用 squishrunner 的 --config
选项来更改各种 squishserver 设置。除了 --config
,您还必须指定 squishserver 的 --host
和 --port
。当 squishserver 不在本地计算机上运行时,使用 squishrunner 配置 squishserver 是有用的。在实际操作中,squishserver 会为您执行实际的配置更改。
用法
squishrunner --config
操作
每次只能指定一个配置操作。
示例
squishrunner --config setAUTTimeout 60
这将设置测试对象(AUT)的超时时间为60秒(默认为20秒)。
操作
选项 | 描述 |
---|---|
--config addAUT aut path | 添加一个映射到指定路径的应用程序。如果同一应用程序的不同版本具有相同的可执行名称,并且出现在使用 addAppPath 选项注册的不同路径中,则此选项指定 Squish 应使用哪一个,从而避免任何歧义。 |
--config removeAUT aut | 移除一个应用程序。 |
--config setBaseDir wrapper directory | 使用给定的 wrapper 名称和基本 directory 创建一个新的包装器。 |
--config setBrowserPath browser executable | 一个 browser 和其 executable 的路径。浏览器应该是以下之一:firefox (Firefox)、ie (Microsoft Internet Explorer)、edge (Microsoft Edge)、safari (Safari)、chromium-based (基于 Chromium 的应用程序),而 executable 应包含浏览器可执行文件的完整路径。 |
--config addInitScript wrapper script | 在指定包装器使用时应该执行的一个 Tcl 脚本文件的名称。脚本应该是一个包含绝对路径的文件名或相对于包装器基本目录的文件名。每当测试用例需要使用包装器时,Squish 首先执行(如果有)与包装器相关的所有在此操作中注册的脚本,然后执行测试用例。虽然必须用 Tcl 编写 init 脚本,但它们只用于初始化 GUI 工具包包装器,对我们编写测试脚本使用的语言没有影响。 |
--config setAUTTimeout seconds | Squish 在测试对象(AUT)启动后没有响应的情况下,在超时前应等待多长时间。此操作的当前设置可以使用 --info AUTTimeout 选项输出。请参见 查询信息 ) |
--config setResponseTimeout seconds | Squish 在 squishserver 和 squishrunner 之间(主要是网络基础的)通信期间,以及 Squish 的其他组件之间,超时前应等待多长时间。 |
--config setAUTPostMortemTimeout milliseconds | 在应用程序退出后,Squish 应等待多长时间后结束 squishrunner。在某些配置中,从第一个程序启动第二个进程,并且在第一个程序退出后发生第二个 Squish 连接。 |
--config setCursorAnimation on|off | 在脚本回放期间(on )是否应动画鼠标光标(在位置之间移动)或不是(off )。此操作的当前设置可以使用 --info cursorAnimation 选项输出。请参见 查询信息。 |
--config setDefaultWebBrowser browser | 对于 Web 应用程序,指定默认的 Web browser:firefox (Firefox)、ie (Microsoft Internet Explorer)、edge (Microsoft Edge)、safari (Safari)、google-chrome (Google Chrome)或 chromium-based (基于 Chromium 的应用程序)。 |
--config addAttachableAUT aut [host:]port | 在运行测试用例时应附加到的测试对象(AUT)。 |
--config removeAttachableAUT aut | 注销之前使用 addAttachableAUT 操作注册的测试对象(AUT)。 |
--config isBrowserExtensionInstalled browser-id browser-executable | 验证 browser-id 的扩展是否已安装和启用,并且扩展版本允许与本 Squish 版本进行自动化。目前该选项支持使用 firefox 和 google-chrome 作为 browser-id。命令将输出至命令窗口,从命令窗口调用。如果您系统上有多个浏览器安装或者 Squish 无法自行找到浏览器,您可以提供 browser-executable 作为第二个参数。 |
--config installBrowserExtension browser-id browser-executable | 安装 browser-id 识别的浏览器所需的扩展。安装程序将启动浏览器并将其指向扩展。然后浏览器将要求您允许安装和激活扩展。最终,它将要求您重新启动浏览器。完成所有这些后,请确保使用 退出 菜单项完全退出浏览器。 目前该选项支持使用 |
--config getGlobalScriptDirs | 当前设置的全球脚本位置列表。 |
--config setGlobalScriptDirs dir1,dir2,dir3,... | 全球脚本位置,当解释器搜索 source(findFile()) 时将包括。可以提供几个用逗号分隔的位置。 |
©2024 The Qt Company Ltd. 所包含的文档贡献均为其各自的版权拥有者。
此处提供的文档根据 GNU 自由文档许可证版本 1.3 的条款提供,由 Free Software Foundation 发布。
Qt 和相应的标志是 The Qt Company Ltd. 在芬兰和其他国家的商标。所有其他商标均为各自所有者的财产。