我也有同样的疑问......如何在后台运行测试用例来测试 AUT,以便我可以在我的机器上处理其他一些任务。在 squish 中进行测试时,会出现如此多的弹出窗口,并且 AUT 功能会不断出现在您的屏幕上,而当您在处理其他事情时,这很烦人。
2 回答
据我了解,问题的关键时刻是与测试并行工作,当它们模拟键盘和鼠标事件时。所以“没有 X 服务器”我理解为“不影响实际用户操作”。
为此,当我创建 squish GUI 测试时,我在 Linux 上使用了 Xvfb,在 Windows上使用了 sysinternals 桌面 ( http://technet.microsoft.com/en-us/sysinternals/cc817881.aspx )。而且我可以与运行的测试并行工作。
我将这样的脚本保存到/etc/init.d/xvfb
#! /bin/sh
### BEGIN INIT INFO
# Provides: Xvfb
# Required-Start: $local_fs $remote_fs
# Required-Stop:
# X-Start-Before:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Virtual Frame Buffer
### END INIT INFO
XVFB=/usr/bin/Xvfb
XVFBARGS=":1 -screen 5 2560x1440x24 -ac"
PIDFILE=/var/run/xvfb.pid
case "$1" in
start)
echo -n "Starting Xvfb"
start-stop-daemon --start --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
echo "."
;;
stop)
echo -n "Stopping Xvfb"
start-stop-daemon --stop --pidfile $PIDFILE
echo "."
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage: /etc/init.d/xvfb {start|stop|restart}"
exit 1
esac
exit 0
现在我可以做/etc/init.d/xvfb start
or /etc/init.d/xvfb stop
。此外,要在启动时自动启动 Xvfb,您可以使用:update-rc.d xvfb defaults 92
在此之后,在开始 GUI 测试之前,我export DISPLAY=":1.5"
在终端控制台中使用,我从中开始测试。然后测试在没有可见的 GUI 触摸的情况下运行,我可以并行工作。
至于“桌面”(适用于 Windows)——它在 Windows 中创建了额外的 4 个桌面,您可以在其中一个桌面上开始测试并切换到另一个桌面来工作。
您可以通过 SquishServer 运行一些现有的测试脚本,同时还可以打开 SquishIDE 以编写更多测试。这基本上是你要问的吗?
我已经安装了 squish-5.1.1-qt48x-win32-msvc9。我还使用一些虚拟机来运行测试。虽然测试在这些虚拟机上运行(在我的本地计算机上运行,但它可能是服务器),但我打开了 SquishIDE 并开发了更多测试。
获取此配置的起点应该是此处的文件:
C:\squish-5.1.1-qt48x-win32-msvc9\squish-5.1.1-qt48x-win32-msvc9\examples\regressiontesting\
看看它们,因为我用过它们。确实,我对它们进行了一些修改,你需要一些 python 知识。如果你不太懂这种语言,你应该打电话给懂它的人。
使用这些文件,您可以指定要运行哪些测试,配置 squish_server,并且在测试运行后,您将获得一些 [*.html] 文件形式的报告。
希望这可以帮助。您还可以在此处找到一些其他帮助:http: //doc.froglogic.com/squish/latest/第 17章。用户指南