贡献

如果您是开源或 Mozilla 的新手,您可能喜欢这个 Marionette 新贡献者教程

我们很高兴您想帮助改进 Marionette!“Marionette”的含义因人而异,但该项目的整体范围涉及以下组件

  • Marionette 是一个 Firefox 远程协议,用于与基于 Gecko 的应用程序(如 Firefox 和 Firefox 移动版)进行通信、检测和控制。它内置于应用程序中,并使用 JavaScript 编写。

    它作为 geckodriver WebDriver 实现的后端,并用于 Firefox UI 测试、reftesting、Web 平台测试、测试工具启动以及许多其他需要浏览器检测的地方。

  • geckodriver 提供了 WebDriver 协议 描述的 HTTP API,用于与基于 Gecko 的应用程序(如 Firefox 和 Firefox 移动版)进行通信。它是一个用 Rust 编写的独立可执行文件,可与兼容的 W3C WebDriver 客户端一起使用。

  • webdriver 是一个 Rust crate,提供接口、特性和类型、错误、类型和边界检查以及 JSON 编组,用于正确解析和发出 WebDriver 协议

参与此项目即表示您同意遵守 Mozilla 的 社区参与指南。以下是一些关于如何贡献高质量且可操作的 Bug 和代码的指南。

编写代码

由于远程控制 Web 浏览器涉及许多移动部件,因此对于新贡献者来说,可能难以知道从哪里开始。请不要犹豫 提问

规范的源代码存储库是 mozilla-central。Bug 提交到 Bugzilla 上的 测试 :: Marionette 组件。我们还提供了一组精选的 新手 Bug,您可以考虑先尝试解决这些 Bug。

我们已在我们的 代码风格文档 中收集了许多关于开发 Marionette 代码的优秀建议,我们强烈建议您阅读。

后续步骤

其他资源