【问题标题】:Use TeamCity to run Selenium test, but not headless使用 TeamCity 运行 Selenium 测试,但不是无头的
【发布时间】:2020-05-13 17:03:07
【问题描述】:

我对此进行了一些研究,但仍然感到困惑。

我正在使用 Selenium 3 (C#) 和 Chromedriver、Nunit 2.6.4、Visual Studio 2015、TFS 和 TeamCity 9。

我想使用 TeamCity 运行 Selenium 测试,但我想亲眼看到测试运行。我不希望它作为后台进程运行。我似乎有人说关于运行用户代理而不是作为 Windows 服务或使用一些脚本手动运行它。但这就是我感到困惑的地方。

我是否必须向项目中添加额外的代码或以其他方式执行,例如批处理文件。还是有其他方法可以在非无头浏览器中运行测试?

我对此很陌生,所以请温柔一点。

提前致谢。

大卫

【问题讨论】:

  • 也许我应该添加.. 测试构建 100%,并运行。但它失败了,因为无头运行隐藏了我试图找到的元素。我已经使用 Chromeoptions 尝试最大化浏览器以及 driver.manager().window.maximize,但遗憾的是没有帮助。
  • 我对 TeamCity 不太熟悉,但其想法是您将代理作为进程而不是作为服务运行。这不应该用代码来解决,因为我猜如果你在本地运行它会显示 Chrome...不是吗?

标签: c# selenium nunit teamcity


【解决方案1】:

如果您将 TeamCity 代理作为服务运行,他们使用“隐藏”桌面,而您看不到它们在运行。

您可以通过以管理员身份打开 cmd,将目录更改为 BuildAgent\bin 并编写 agent.bat start,将 TeamCity 代理作为进程运行。然后你应该能够看到测试运行。记得先停止服务

【讨论】:

    【解决方案2】:

    转到代理的 service.properties,然后设置“web.app=true”。如果代理安装在 D 盘,它将在代理目录下为“D:\BuildAgent3”。 重启你的代理..

    从现在开始,您应该会看到浏览器在 headful 模式下运行。 它过去对我们有用,但后来我们转向 Selenium Grid,因此我们不使用此设置。

    如果有帮助请告诉我..!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      相关资源
      最近更新 更多