构建 geckodriver

geckodriver是用Mozilla开发的系统编程语言Rust编写的。至关重要的是,它依赖于webdriver 组件来提供 HTTPD 并执行大部分将 WebDriver 协议进行封送处理的繁重工作。geckodriver 将 WebDriver 命令响应错误转换为Marionette 协议,并充当WebDriverMarionette之间的代理。

要在 Firefox 源代码构建中构建 geckodriver,请将以下内容添加到mozconfig

ac_add_options --enable-geckodriver

通过添加此内容,在构建 Firefox 时也将构建 geckodriver。还可以通过将源代码路径传递给mach build命令单独构建它。

% ./mach build testing/geckodriver

工件构建默认不下载 geckodriver,但可以使用 cargo 构建它。

% cd testing/geckodriver
% cargo build
…
Compiling geckodriver v0.21.0 (file:///code/gecko/testing/geckodriver)
…
Finished dev [optimized + debuginfo] target(s) in 7.83s

因为中心的所有 Rust 代码共享相同的 cargo 工作区,所以二进制文件将放在$(topsrcdir)/target目录中。

您可以通过以下方式运行新构建的 geckodriver

% ./mach geckodriver -- --other --flags

有关如何运行测试的信息,请参阅测试