我已将 Windows 7 VM 配置为我的 TFS2015 设置的代理。
我创建了一个 Gradle(调用 gradlew.bat)作业来从 TFS 构建定义中运行我的 selenium 脚本
gradlew.bat clean test aggregate
当我直接从 VM 手动运行它时,这很好用(我可以看到 IE 被调用),但是当它作为作业触发时,它只在后台运行。以下是我的观察:
我正在使用 Gradle 3.0,并通过在 gradle.properties 中添加 org.gradle.daemon=false 禁用了 Gradle 守护进程。这几天一直困扰着我。
任何帮助都会很棒。
最佳答案
为了使您的测试与桌面交互,它们需要在已登录且未锁定(未激活屏幕保护程序)的机器上交互运行。
见:https://www.visualstudio.com/en-us/docs/build/admin/agents/v2-windows#interactive
您可以将机器配置为自动启动并在启动时进行身份验证,禁用屏幕锁定策略和屏幕保护程序,并将 run.cmd 添加到星形菜单中的 windows 启动部分。
见:http://donovanbrown.com/post/2015/08/28/auto-start-build-agent-in-interactive-mode
control userpasswords2
和
cmd
/c {pathTo\run.cmd}
到目标C:\Windows\System32\cmd.exe /c c:\agent\agent\run.cmd
注意:为 2.0 构建代理更新,使用
run.cmd
启动而不是 vsoagent.exe
shell:startup
关于selenium - 如何防止 Gradle 作业在 TFS 代理的后台运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39596733/