Windows 上的 Jenkins 集成测试:某些 GUI 功能存在问题
Jenkins Integration Tests on Windows: problems with some GUI functionality
我们在 Jenkins build-slave 上 运行 我们的 GUI 集成测试。
从服务器是 运行 Windows Server 2012。我们的应用程序是建立在 Java RCP 上并使用 SWTBot 进行测试。
问题是,大多数时候,测试会在用户(或在本例中为 SWTBot)按下组合键 Strg+Z 时失败。简直就是没有什么效果。
然后,如果我们远程登录到服务器并实际观察构建过程(无需交互),测试将始终成功完成。所以我想这与实际向会话显示桌面有关。但在极少数情况下,测试也会在没有任何人远程登录到我们的构建从站的情况下成功。
有人知道会发生什么吗?
事实证明,问题是由断开的 RDP 会话锁定屏幕引起的。您可以通过执行以下命令作为 bat 脚本(以管理员身份)来防止屏幕锁定 => 它会在没有屏幕锁定的情况下断开您的会话:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)
请注意,解锁屏幕可能会带来安全风险。
我们在 Jenkins build-slave 上 运行 我们的 GUI 集成测试。 从服务器是 运行 Windows Server 2012。我们的应用程序是建立在 Java RCP 上并使用 SWTBot 进行测试。
问题是,大多数时候,测试会在用户(或在本例中为 SWTBot)按下组合键 Strg+Z 时失败。简直就是没有什么效果。
然后,如果我们远程登录到服务器并实际观察构建过程(无需交互),测试将始终成功完成。所以我想这与实际向会话显示桌面有关。但在极少数情况下,测试也会在没有任何人远程登录到我们的构建从站的情况下成功。
有人知道会发生什么吗?
事实证明,问题是由断开的 RDP 会话锁定屏幕引起的。您可以通过执行以下命令作为 bat 脚本(以管理员身份)来防止屏幕锁定 => 它会在没有屏幕锁定的情况下断开您的会话:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)
请注意,解锁屏幕可能会带来安全风险。