詹金斯硒不 运行 无头测试

jenkins selenium do not run test headlessly

我正在 运行使用 jenkins 进行 pytests selenium 测试。我 运行 在我的本地机器上测试它是否有效。但是当我通过 jenkins 运行 时,它 运行s 在远程 jenkins 机器上(在远程 jenkins 机器上创建工作区)无头地并且它失败并出现测试错误,例如 'element not visible' 或 'timeout exception due to element not clickable' . 在此之后,我 运行 直接在工作区中的远程机器(windows 服务器)上进行测试。它启动 chrome 浏览器和 运行 测试并通过。

  1. 为什么在通过 jenknis 运行 时 运行ning 无头测试?
  2. 我可以在 运行通过 jenkins 时强制打开浏览器吗?
  3. 为什么当 运行 无头通过 jenkins 时测试失败?

我假设您的 Jenkins 运行 作为 Windows 下那台机器上的服务,此时您可能想尝试两件事:

  1. 在服务中指定本地系统帐户并选中允许服务与桌面交互。在 here 中详细了解如何执行此操作。但是,这可能会导致其他问题。
  2. 运行 来自 WAR file 的 jenkins 实例,如果你 运行 在从机器上进行测试:从命令行启动 jenkins slave。