selenium - 如何防止 Gradle 作业在 TFS 代理的后台运行

标签 selenium gradle azure-devops tfsbuild tfs-2015

我已将 Windows 7 VM 配置为我的 TFS2015 设置的代理。

我创建了一个 Gradle(调用 gradlew.bat)作业来从 TFS 构建定义中运行我的 selenium 脚本

gradlew.bat clean test aggregate

当我直接从 VM 手动运行它时,这很好用(我可以看到 IE 被调用),但是当它作为作业触发时,它只在后台运行。以下是我的观察:
  • 进程——Java、iexplorer、IEDriver.exe 都在进程管理器中被调用。
  • 当我杀死 iexplorer 进程时,我可以在 TFS 控制台上看到 UnreachableBrowserException 并运行下一个测试用例。
  • 运行 10 分钟后,包含 2 个测试用例(大约 3-4 分钟)的作业失败,我在 TFS 控制台中看到错误日志
  • 这些脚本在我第一次设置时在 UI 上运行,但之后就再也没有运行过。

  • 我正在使用 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

  • 按 Windows 键 + R 打开运行对话框
  • 输入以下内容并按回车:control userpasswords2
  • 取消选中用户必须输入用户名和密码才能使用此计算机。
  • 单击应用按钮
  • 您将收到一个自动登录对话框
  • 的提示。
  • 输入用户密码
  • 点击确定
  • 单击“用户帐户”对话框中的“确定”


  • 桌面右键
  • 选择新建/快捷方式
  • 输入 cmd
  • 点击下一步
  • 改名为 Start Agent
  • 点击完成
  • 右键单击新的快捷方式
  • 选择属性
  • 追加/c {pathTo\run.cmd}到目标
  • 如果您将代理安装到 C:\Agent,您的目标应如下所示:C:\Windows\System32\cmd.exe /c c:\agent\agent\run.cmd
  • 点击确定

  • 注意:为 2.0 构建代理更新,使用 run.cmd 启动而不是 vsoagent.exe
  • 按 Windows 键 + R 打开运行对话框
  • 输入以下内容shell:startup
  • 点击确定
  • 这将在 Windows 资源管理器中打开 Startup 文件夹。
  • 将快捷方式拖放到此文件夹
  • 关于selenium - 如何防止 Gradle 作业在 TFS 代理的后台运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39596733/

    相关文章:

    c# - 可以在selenium c#中更改浏览器的标题吗?

    css - 如何*自动*测试不同浏览器(包括 Safari Mobile 和 Android 浏览器)中的 CSS 渲染?

    azure-devops - 如何组织 azure-pipeline.yaml 文件

    azure - 此虚拟机规模集已被池使用

    c# - 检查所有链接 Selenium C#

    selenium - 如何使用 Selenium 单击按钮的特定部分以显示选项列表?

    android - 无法运行gradle

    java - 基于属性值的动态任务依赖性

    gradle - 使用gradle时无法推断groovy类路径

    azure - 如何在 Azure 经典发布管道中使用 Powershellscript - 存储在 Azure Devops 安全文件中的脚本文件