squishserver
squishserver 负责处理 squishrunner 和待测试应用程序之间的通信。它有三种使用模式:服务、停止和配置。
squishserver必须在与AUT相同的机器上运行,尽管squishrunner可以在不同的机器上运行。
如果没有指定的命令行选项启动squishserver,它将监听端口号4322的连接,并且仅接受来自本地主机(127.0.0.1)的连接。要使它接受来自其他主机的连接,必须指定这些主机。为此,squishserver读取文件/etc/squishserverrc
(在类似Unix的系统上)或C:\squishserverrc
(在Windows上)。如果找不到文件,squishserver将尝试读取SQUISHDIR/etc/squishserverrc
(在类似Unix的系统上)以及在Windows上的SQUISHDIR\etc\squishserverrc
和SQUISHDIR\etc\squishserverrc.txt
。
squishserverrc
文件可以使用这种格式的行来指定允许连接的IP地址
ALLOWED_HOSTS=ip-address1 ip-address2 ...
在指定的IP地址中可以使用通配符来匹配多个IP地址。例如
ALLOWED_HOSTS=192.168.0.* ...
可以通过在squishserverrc
文件中添加形如PORT
=端口号的行来更改squishserver监听的端口号。
注意:Squish不创建squishserverrc
文件。如果需要,请使用纯文本编辑器手动创建。
服务
使用不带命令行选项的squishserver,或使用此处记录的选项,以拥有squishrunner可以使用的服务器。
用法
squishserver
[--quiet
] [--verbose
] [--configfile
configfile] [--host
address] [--port
port] [--local
] [--listenfile
listenfile] [--daemon
] [--logfile
logfile] [--disable-presence
]
方括号中的项是可选的。
选项
可以使用不带任何选项的squishserver,或者使用形如--port
端口号的选项来指定要监听的端口号。命令行选项会覆盖在squishserverrc
文件中指定的任何PORT
=端口号。
另一个有用的选项是--host
address,它可以指定要监听的IP地址。默认情况下,它接受分配给运行squishserver的机器上的任何IP地址的连接。
如果使用了--verbose
选项,squishserver将产生比通常更多的输出。额外的输出设计成有助于调查远程服务器连接问题或Qt库路径设置不正确等问题。
在类似Unix的平台上(即在Windows上以外),可以指定--daemon
选项。如果使用此选项,则squishserver将在后台运行。这意味着服务器将从控制终端分离,并停止向标准输出或标准错误打印任何内容。
使用--logfile
选项将所有日志消息以及任何重定向的AUT输出写入给定的文件路径。
使用--disable-presence
选项禁用SSDP服务发现。默认情况下,squishserver使用此协议在局域网上广告自己存在。
--local
选项由squishide
在启动本地squishserver时内部使用。它不打算供最终用户使用。此选项禁用SSDP发现,并默认监听127.0.0.1。它选择介于49152和65535之间的端口号,并将其打印到标准输出。
停止
要停止squishserver的运行,请使用--stop
选项。
用法
squishserver --stop
[--host
address] [--port
port]
如果未指定端口,服务器将使用Squish的默认端口号进行连接。
示例
squishserver --stop
这指示squishserver关闭。在几乎所有使用场景中,squishrunner无法在没有squishserver的情况下运行。
配置squishserver
使用带有--config
选项的squishserver来更改各种设置。
用法
squishserver --config
操作
大多数配置命令默认操作 server.ini
文件,该文件位于Squish用户设置目录的ver1
中。您可以通过使用--configfile
选项提供不同配置文件的位置。
squishserver [--configfile
/path/to/myserver.ini] --config
操作
每次只能指定一个配置操作。(为了向后兼容,支持一个可选的附加选项--settingsGroup
settingsGroup。如果指定,它告诉squishserver要使用哪个设置组。Squish不支持设置组,并且该选项已被弃用。)
示例
squishserver --config addAppPath C:\squish\examples\qt\addressbook
这将把C:\squish\examples\qt\addressbook
路径添加到Squish搜索AUT的路径列表中。
可以通过使用$(NAME)
语法在命令行中引用环境变量(尽管在某些shell中——通常是Unix中使用的shell——可能需要对$()
部分进行转义)。
squishserver --config addAUT addressbook $(SQUISHPATH)/examples/qt/addressbook
这里我们添加了一个新的AUT,我们使用了SQUISHPATH
环境变量来完成此操作——它必须已经被设置之前。
操作
选项 | 描述 |
---|---|
addAppPath 路径 | 将路径添加到squishserver在启动AUT时寻找应用程序的路径列表中。 |
removeAppPath 路径 | 从squishserver在启动AUT时寻找应用程序的路径列表中移除路径。 |
addAUT aut 路径 | 将映射到指定路径的应用程序添加。如果同一应用程序的不同版本具有相同的可执行名称并出现在使用addAppPath选项注册的不同路径中,此选项指定Squish应使用哪个版本,以避免任何歧义。 |
removeAUT aut | 删除应用程序。 |
addAttachableAUT aut [主机:]端口 | 指定可以附加到的AUT。 |
removeAttachableAUT aut | 注销之前使用addAttachableAUT 操作注册的AUT。 |
setWrapperLibs aut lib1[,lib]* | 用于指定AUT的包装库或库。 |
setUsesBuiltinHook aut 开|关 | 启用或禁用Squish期望一个内置钩子而不是默认的非侵入式钩子。在使用此选项之前,请阅读使用内置钩子。 |
setAUTTimeout 秒 | Squish应该在多少秒后超时并使用测试失败退出,如果AUT在被启动后没有响应。默认值为20。 |
setResponseTimeout 秒 | Squish应该在多少秒后超时并使用测试失败退出,等待AUT的响应。默认值为300。这与Object waitForObject(objectOrName)函数使用的超时不同。 |
setAUTPostMortemTimeout 毫秒 | 设置 Squish 在第一个 AUT 进程退出后应等待的毫秒数。这适用于实际以新/独立(子)进程启动 真实 AUT 的 AUT,如 Java Web Start 和第三方 Java 应用程序启动器。在这些情况下,第一个 AUT 进程可能在 Squish 连接到第二个(真实的)AUT 进程之前就退出了。如果不在这段时间内成功连接到第二个 AUT 进程,Squish 将会因错误而放弃尝试启动(并连接)AUT,除非在此设置中指定的毫秒数内成功连接到第二个 AUT 进程。默认值为 1500。 |
setHardExitTimeout 毫秒 | 在向应用程序发送 SIGTERM 之后,squishserver 应该等待多少毫秒,如果没有收到响应,则发送 SIGKILL 杀死应用程序。这个时间将添加到 setSoftExitTimeout 的值。在 Windows 上,此选项不起作用。默认值为 100 毫秒。 |
setSoftExitTimeout 毫秒 | 在 squishrunner 结束后,squishserver 应该等待多少毫秒,如果应用程序还在运行,则在自动启动或在 ApplicationContext startApplication(autName) 调用中启动应用程序时,应杀死应用程序。默认值为 2000 毫秒。 |
setBrowserPath browser executable | 浏览器及其可执行路径:firefox (Firefox),ie (Microsoft Internet Explorer),edge (Microsoft Edge),或 safari (Safari),chromium-based (基于 Chromium 的应用程序)。可执行文件应包含浏览器可执行文件的完整路径。Squish 支持特定桌面平台上的特定浏览器“即插即用”。但是,也可以通过使用 Squish 的 网络代理 来测试其他浏览器或在非桌面平台上(例如,iPhone 和类似设备)进行测试。 |
setJavaVM filename | Java 可执行文件的完整路径。例如,Linux 上为 /usr/lib/jvm/java-6-sun/jre/bin/java 。 |
setLibJVM filename | Java 虚拟机的完整路径。例如,Linux 上为 /usr/lib/jvm/java-6-sun/jre/lib/i386/client/libjvm.so 。 |
setJavaVersion version | 要使用的 Java 版本。例如,1.5.0_11 。 |
setSWTJar filename | 对于使用 SWT GUI 库的 Java AUT,使用该库的 .jar 文件的完整路径。例如,Windows 上为 C:\swt\swt.jar 。 |
setConfig aut path | 注册一个实现 Java 扩展 API 的自定义 .jar 文件。 |
removeConfig aut path | 注销一个实现 Java 扩展 API 的自定义 .jar 文件。 |
squishserver 也有一些其他配置选项,特别是 usesBuiltinHook
和 setJavaHookMethod
,用于向后兼容,不应该使用。
©2024 The Qt Company Ltd. 内包含的文档贡献是各自所有者的版权。
提供的文档根据自由软件基金会发布的版本 1.3 的 GNU 自由文档许可证 许可。
Qt 和 respective logos 是 The Qt Company Ltd. 在芬兰和其他国家/地区的商标。所有其他商标均为其各自所有者的财产。