繁体   English   中英

Android 在无头机器上使用 Jenkins 进行单元测试

[英]Android unit tests with Jenkins on a headless machine

我正在收集信息以在无头机器上设置 Jenkins CI 服务器以进行 Android 单元测试。 但是由于 Android 单元测试需要运行模拟器,所以似乎需要图形环境,或者是否可以在非图形模式下运行模拟器? Jenkins Android Emulator 插件上的 wiki 条目在这个问题上也不是很有启发性,它指出:

如果你有无头运行的构建从属服务器(例如不运行 X 服务器的 Linux 服务器),建议利用 Jenkins 的 Xvnc 插件。 启用此插件后,您可以在无头从站上并行运行多个 Android 仿真器,同时保持启用“显示仿真器窗口”选项。

这是否意味着模拟器可以在禁用“显示模拟器窗口”选项的无头机器上运行?

如果需要图形环境,大多数消息来源所说的最简单的解决方案是使用 Xvnc 插件,该插件使用 Xvnc 服务器提供 X 实例。 但是如果我理解正确,这个 Xvnc 服务器必须在另一台有 X 可用的机器上运行,或者它是否运行在从那里提供 X 实例的无头机器上?

作为该插件的作者,我可以告诉你是的:你可以在没有图形环境的无头机器上运行模拟器——只需取消选中“显示模拟器窗口”选项。

这相当于在命令行上使用“ -no-window ”选项运行 Android 仿真器。

我将更新 wiki 以使其更清晰; 谢谢你提出来。

我的项目中有类似的设置。 但我选择 Robolectric 进行单元测试。

在 Jenkins 上运行Robolectric测试非常容易。

您可能必须使用 go 进行模拟器,以便在无头 Jenkins 服务器上进行系统测试。

我仍然没有在无头服务器上运行系统测试的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM