Nightwatch FireFox60和geckodriver MoveTo因未知命令而失败

Nightwatch FireFox60和geckodriver MoveTo因未知命令而失败,firefox,geckodriver,nightwatch,Firefox,Geckodriver,Nightwatch,我是Nightwatch的新用户,正在尝试将大量测试转换为使用最新版本的Nightwatch 1.1.12。我的要求是使用以下设置: Nightwatch 1.12.1 Firefox 60.8.0esr and Chrome 74 Gecko driver 1.7.1 (equates to gecko driver 0.17.1) see https://github.com/vladikoff/node-geckodriver#readme 我有一个从Nightwatch网站repo

我是Nightwatch的新用户,正在尝试将大量测试转换为使用最新版本的Nightwatch 1.1.12。我的要求是使用以下设置:

Nightwatch 1.12.1
Firefox 60.8.0esr and Chrome 74
Gecko driver 1.7.1  (equates to gecko driver 0.17.1) 
see https://github.com/vladikoff/node-geckodriver#readme
我有一个从Nightwatch网站repo克隆的示例设置和测试, 在我的回购协议中:

我已经修改了homepage-test.js测试,移动到GitHub按钮,单击它,然后验证GitHub页面是否打开

这个测试可以在chrome中运行,但当我使用FireFox和所需的gecko驱动程序运行相同的测试时失败。 Firefox错误是

TimeoutError: An error occurred while running .moveToElement() command on <Section [name=indexContainer],Section [name=download],Element [name=@gitHubButton]>:
   {"status":-1,"value":{"error":"unknown command","message":"POST /session/28e06a8d-7e6c-436a-81b7-149230ff226b/moveto did not match a known command","stacktrace":"stack backtrace:\n   0:           0x57af6d - backtrace::backtrace::trace::h59229d13f6a8837d\n   1:           0x57b0c2 - backtrace::capture::Backtrace::new::h23089c033eded8f0\n   2:           0x4472fc - webdriver::error::WebDriverError::new::h0b226f62ff19e120\n   3:           0x439986 - <webdriver::server::HttpHandler<U> as hyper::server::Handler>::handle::h8a591087754286a9\n   4:           0x42d1cf - hyper::server::listener::spawn_with::{{closure}}::h82d502303a553f20\n   5:           0x4092d7 - std::panicking::try::do_call::h89ac8aec5c3b6b89\n   6:           0x5de23a - panic_unwind::__rust_maybe_catch_panic\n                        at /checkout/src/libpanic_unwind/lib.rs:98\n   7:           0x41bd6e - <F as alloc::boxed::FnBox<A>>::call_box::h2822c178036f43e7\n   8:           0x5d68d4 - alloc::boxed::{{impl}}::call_once<(),()>\n                        at /checkout/src/liballoc/boxed.rs:650\n                         - std::sys_common::thread::start_thread\n                        at /checkout/src/libstd/sys_common/thread.rs:21\n                         - std::sys::imp::thread::{{impl}}::new::thread_start\n                        at /checkout/src/libstd/sys/unix/thread.rs:84"},"errorStatus":"","error":"POST /session/28e06a8d-7e6c-436a-81b7-149230ff226b/moveto did not match a known command","httpStatusCode":404}
       at <anonymous>
       at process._tickCallback (internal/process/next_tick.js:188:7)
从这个来源来看,gecko驱动程序不支持moveTo命令,已经被Actions API实现所取代

有趣的是,当我将nightwatch.conf.js文件更新为使用Firefox版本60并将gecko驱动程序更新为1.16.2(gecko驱动程序v0.24.0)时,我也遇到了同样的错误

那么如何在Firefox60浏览器中运行这些测试呢?如果我需要创建一个自定义命令来使用API操作,那该怎么做呢

更新1:

我意识到这是geckodriver没有完全实现WebDriver标准或与Selenium完全兼容的问题,但我需要一种方法来修复这些测试

https://github.com/nightwatchjs/nightwatch/issues/1664