Kel*_*vin 30 testing user-interface continuous-integration jenkins jubula
我在Windows 7上设置了jenkins代理,在Linux上安装了jenkins服务器.我正在Windows代理上运行GUI测试.如果我连接了远程桌面连接,它运行正常,但否则失败.我找到了这个链接,Jenkins在Windows上和GUI测试没有RDC
但是提供的解决方案非常模糊.似乎唯一的解决方案是以某种方式使Jenkins服务器始终打开远程桌面连接.但我找不到这样做的选择.谁能明确教我如何解决这个问题?
非常感激!
Pet*_*tze 24
在测试可以正常运行之前,您的从属计算机必须位于桌面上.我们遇到了同样的问题.
解决方案是让测试机器启动并自动登录到桌面.为确保测试仅在桌面可用后启动,我们添加了一个计划任务,设置为在用户登录时运行,该任务将通过Java Web Start启动Jenkins从站.这样,一旦桌面运行,Jenkins只会看到奴隶.在那之后,一切都很好.
这是您所关联的问题的获胜答案,并且非常清楚该怎么做.整个设置在Jenkins之外.Jason Swager描述了他如何自动登录到桌面计算机的用户,然后在用户会话中启动Jenkins slave.
解决方案是让测试机器启动并自动登录到桌面
配置标准Windows桌面以在Windows启动时自动登录特定用户.这样,没有人需要物理登录桌面.(请参阅如何在Windows 7中启用自动登录)
您需要在此用户设置中启动Jenkins从站.否则,Jenkins slave将无法访问Windows UI组件(换句话说,无法与桌面交互).
为确保测试仅在桌面可用后启动,我们添加了一个计划任务,设置为在用户登录时运行,该任务将通过Java Web Start启动Jenkins从站.
因此,您必须创建计划任务并将其配置为使用Java Web Start启动Jenkins客户端.
这样,一旦桌面运行,Jenkins只会看到奴隶.在那之后,一切都很好.
当从属设备在线时,您可以使用它来运行UI测试.
要解决此问题,请按照我在此解释的那样设置Windows自动登录:https: //serverfault.com/questions/269832/windows-server-2008-automatic-user-logon-on-power-on/606130#606130
然后为Jenkins slave创建一个启动批处理(将它放在Jenkins目录中),这将在桌面上启动它的控制台,并允许GUI作业运行:
java -jar slave.jar -jnlpUrl http://{Your Jenkins Server}:8080/computer/{Your Jenkins Node}/slave-agent.jnlp
Run Code Online (Sandbox Code Playgroud)
(slave.jar可以从http:// {Your Jenkins Server}下载:8080/jnlpJars/slave.jar)
编辑: 如果您正在获取黑色屏幕截图(例如,使用Selenium时),请创建一个断开远程桌面的批处理文件,而不是使用常规X按钮关闭RDP会话:
%windir%\system32\tscon.exe %SESSIONNAME% /dest:console
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49706 次 |
| 最近记录: |