构建 geckodriver¶
geckodriver是用Mozilla开发的系统编程语言Rust编写的。至关重要的是,它依赖于webdriver 组件来提供 HTTPD 并执行大部分将 WebDriver 协议进行封送处理的繁重工作。geckodriver 将 WebDriver 命令、响应和错误转换为Marionette 协议,并充当WebDriver和Marionette之间的代理。
要在 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
有关如何运行测试的信息,请参阅测试。