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不是一个单一的命令,而是一个字母命令列表:alpw。任何都可以指定,例如apw。这些字母的含义是:

  • 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=路径OrMagicAUT测试时的工作目录。如果此选项不存在或其值为空,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启动的子进程。布尔值应该是true1false0。此设置通常通过在测试套件设置视图应用程序(AUT)面板中的squishide中设置。
IMPLICITAUTSTART=布尔值Squish是否应该自动启动AUT。这对于Squish 3脚本来说是常见的;但对于Squish 4来说,此设置通常为false,并且通过使用ApplicationContext startApplication(autName)函数在测试脚本中启动AUT。布尔值应该是true1false0。此设置通常通过在测试套件设置视图应用程序(AUT)面板中的squishide中设置。
LANGUAGE=语言测试脚本使用的脚本语言。目前这必须是JavaScriptPythonPerlRubyTcl。这可以通过在squishrunner命令行中使用具有--testcase选项的--lang选项来覆盖。
NAMINGSCHEME=方案如果存在,命名方案必须是MULTIPROPHIERARCHICAL。通常,最好使用MULTIPROP(默认),除非对于Tk应用程序使用HIERARCHICAL
OBJECTMAP=文件名默认情况下,Squish 从测试套件的根目录下的 objects.map 文件读取测试套件的象素映射。如果在这里指定了不同的文件名(包括完整路径),Squish 将使用指定的文件而不是读取默认文件。(这可以通过在 squishrunner 的命令行中使用 --testcase 选项来覆盖,当同时使用 --record 选项时,通过使用 --objectmap 选项。)

此配置设置仅适用于 文本型的象素映射

TEST_CASES=测试用例 [测试用例]*一个或多个测试用例名称的空格分隔列表。如果运行整个测试套件,例如,通过使用 --testsuite 选项并在没有 --testcase 选项的情况下指定要运行的测试用例,每个 测试用例都将运行。如果每个测试用例都运行并且设置了此 TEST_CASES 选项,则将首先运行所提供的测试用例(按指定顺序),然后运行那些未列出的测试用例(如果有的话)。

此外,此选项用于由 squishide 确定测试用例在测试用例视图中显示的顺序。要仅运行特定的测试用例,请使用 --testcase 选项。

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测试中心报告生成器

注意:此生成器不能与XML报告生成器HTML报告生成器一起使用。

  • 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测试中心,生成的报告不适用于手动浏览。

注意:此生成器不能与HTML报告生成器JSON报告生成器一起使用。

  • 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-dirmy_app_results,并且假设一个图像验证点失败,squishrunner将写入:my_app_results/results.xmlmy_app_results/suite_myapp/tst_case1/verificationPoints/failedImages/failed_1.png

注意:为保持向后兼容,保留了旧版XML格式,如 xml3.1xml3xml2.2xml2.1xml2xml。这些格式中 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执行所有带标签 foobar(或两者皆可)的场景或测试脚本
–tags foo –tags bar执行所有同时带标签 foobar 的场景或测试脚本
–tags foo,bar –tags yoyo执行所有带标签 yoyo 且有一个或两个 foobar 标签的场景或测试脚本

有关如何 @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
AUTPMTimeoutSquish 在应用程序退出后需要等待多少毫秒来结束 squishrunner。在某些配置中,第一个进程从第一个进程中启动,第二个 Squish 连接发生在第一个进程退出之后。此值可以通过使用 --config setAUTPostMortemTimeout 选项进行更改。请参阅 配置 squishrunner
AUTTimeoutsquishrunner 在启动 AUT 后会等待多少秒,如果 AUT 在启动后没有响应,则超时导致测试失败。此值可以通过使用 --config setAUTTimeout 选项进行更改。请参阅 配置 squishrunner
cursorAnimation开启,如果在脚本回放期间应动画化鼠标光标(在位置间视觉移动)。否则,关闭。此值可以通过使用 --config setCursorAnimation 选项进行更改。请参阅 配置 squishrunner
defaultWebBrowser用于网络测试的网页浏览器的名称。
iosSimulatorDevices可用的 iOS 模拟器设备的列表。需要在安装了 Xcode 的 macOS 机器上运行 squishserver。
javaPath对于 squishserver 配置使用的 Java 安装的前缀。此值可以通过使用 squishserver 的 --config setJavaVM 选项进行更改(需要 Java 可执行文件的路径,而不是其安装前缀)。请参阅 配置 squishserver
responseTimeoutSquish 在 (主要基于网络的) 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 secondsSquish 在测试对象(AUT)启动后没有响应的情况下,在超时前应等待多长时间。此操作的当前设置可以使用 --info AUTTimeout 选项输出。请参见 查询信息
--config setResponseTimeout secondsSquish 在 squishserver 和 squishrunner 之间(主要是网络基础的)通信期间,以及 Squish 的其他组件之间,超时前应等待多长时间。
--config setAUTPostMortemTimeout milliseconds在应用程序退出后,Squish 应等待多长时间后结束 squishrunner。在某些配置中,从第一个程序启动第二个进程,并且在第一个程序退出后发生第二个 Squish 连接。
--config setCursorAnimation on|off在脚本回放期间(on)是否应动画鼠标光标(在位置之间移动)或不是(off)。此操作的当前设置可以使用 --info cursorAnimation 选项输出。请参见 查询信息
--config setDefaultWebBrowser browser对于 Web 应用程序,指定默认的 Web browserfirefox(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 版本进行自动化。目前该选项支持使用 firefoxgoogle-chrome 作为 browser-id。命令将输出至命令窗口,从命令窗口调用。如果您系统上有多个浏览器安装或者 Squish 无法自行找到浏览器,您可以提供 browser-executable 作为第二个参数。
--config installBrowserExtension browser-id browser-executable安装 browser-id 识别的浏览器所需的扩展。安装程序将启动浏览器并将其指向扩展。然后浏览器将要求您允许安装和激活扩展。最终,它将要求您重新启动浏览器。完成所有这些后,请确保使用 退出 菜单项完全退出浏览器。

目前该选项支持使用 firefoxgoogle-chrome 作为 browser-id。如果您系统上有多个浏览器安装或者 Squish 无法自行找到浏览器,您可以提供 browser-executable 作为第二个参数。命令将输出至命令窗口,从命令窗口调用。

--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. 在芬兰和其他国家的商标。所有其他商标均为各自所有者的财产。