【问题标题】:Selenium web driver moveToElement (Actions) throwing error with marionette driver?Selenium Web 驱动程序 moveToElement (Actions) 与木偶驱动程序一起抛出错误?
【发布时间】:2016-08-23 15:05:01
【问题描述】:

在硒测试中出现以下错误

POST /session/ee1b9201-dadc-7446-b753-0a418a230d30/moveto did not match a known command 

我所做的是

Actions resetView = new Actions(driver);
resetView.moveToElement(el).perform();

环境:

火狐v47.0

Webdriver 3.0.0-beta2

【问题讨论】:

    标签: java selenium-webdriver webdriver cucumber-java firefox-marionette


    【解决方案1】:

    这完全是意料之中的。没有 GeckoDriver (Marionette) 版本支持 Actions 类。这是 Mozilla 开发 Marionette 的团队的首要任务之一。

    【讨论】:

    • 2 个月过去了,仍然没有支持。但我想相信这是你在这里提到的首要任务之一
    • 我们在 11 月 1 日,从 geckodriver 0.11.1 开始仍然无法使用;恕我直言,无法运行全面的测试套件应该是任何大型网络浏览器的发布阻止程序。随着 WebDriver 支持的弃用,基本上不可能在当前版本的 Firefox 上测试您的 Web 应用程序,这会导致压力保持旧版本反对试图保持最新的安全性。
    • 我将花一点时间指出 Selenium 项目无法控制开源 Firefox 驱动程序的弃用。它因 Firefox 架构更改而无法运行。使用 Marionette 是前进的方向,它是开源的(大多数 Mozilla 代码都是),所以如果你没有看到你想在 Marionette 上取得的进展,可以贡献朝着实现它的方向发展。但是在这里抱怨 Mozilla 的实施进展缓慢不太可能得到你想要的结果。
    【解决方案2】:

    有一个issue that Selenium tracks,即is blocked by the Marionette issue。

    由于问题已经超过 3 周了,并且看着他们的 commit log,我不会很快屏住呼吸等待补丁。

    如果您可以使用 Firefox 47.0.1,because in Firefox 47.0 they had another bug,您可以使用有效的旧 WebDriver API(不是 Marionette)。从 48 开始它停止工作,因为你应该使用 Marionette。是的,那个未完成的木偶。

    如果您必须在 Firefox 上进行测试,我建议您坚持使用 Firefox 47.0.1、Selenium 2.latest,最终将它们放入 docker 映像中,然后像这样运行。

    这就是我至少为 Germanium 所做的事情,直到希望它最终也适用于 Marionette。

    【讨论】:

    • 这应该是 Mozilla 问题,跟踪围绕“操作”的其他问题:bugzilla.mozilla.org/show_bug.cgi?id=1292178。需要解决它以支持mouseMoveTo 指令。引用问题中的一些 cmets 设置了里程碑“Firefox 55”(尽管之前的一些里程碑已被还原至少两次)。
    猜你喜欢
    • 2022-01-28
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2016-06-30
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    相关资源
    最近更新 更多