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

发布于 2024-11-03 17:21:40 字数 606 浏览 1 评论 0原文

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

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

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

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

I'm gathering information to set up a Jenkins CI server on a headless machine for Android unit testing.
But as Android unit tests require an emulator to run, a graphical environment seems required, or is it possible to run an emulator in non-graphical mode?
The wiki entry on the Jenkins Android Emulator plugin is also not very enlightening on this matter, it states:

If you have build slaves running headless (e.g. Linux servers that don't run an X server), it is recommended to take advantage of Jenkins' Xvnc Plugin.
With this plugin enabled, you can run multiple Android emulators in parallel on a headless slave, while keeping the "Show emulator window" option enabled.

Does this imply that emulators can be run on a headless machine with the "Show emulator window" option disabled??

If a graphical environment is required the easiest solution most sources speak of is by using the Xvnc plugin which uses an Xvnc server to provide an X instance.
But if I understand correctly this Xvnc server must run on another machine with X available, or does it run on the headless machine providing an X instance from there?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

阳光下的泡沫是彩色的 2024-11-10 17:21:41

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

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

您可能需要使用模拟器在无头 Jenkins 服务器上进行系统测试。

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

I have a similar setup in my project. But I chose Robolectric for my unit tests.

It is quite easy to run the Robolectric tests on Jenkins.

You may have to go for emulator for your system tests on a headless Jenkins server.

I still do not have a solution to run the system tests on a headless server.

请叫√我孤独 2024-11-10 17:21:40

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

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

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

As the author of that plugin, I can tell you yes: you can run emulators on a headless machine, without a graphical environment — just uncheck the "Show emulator window" option.

This is the equivalent of running the Android emulator with the "-no-window" option on the command line.

I will update the wiki to make this clearer; thanks for bringing it up.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文