谁知道Selenium支持Firefox的长期计划?

时间:2016-10-17 11:21:01

标签: selenium selenium-webdriver automation qa

我一直在使用Selenium WebDriver。不久前我在我的测试环境中将我的Firefox版本锁定到45.3.0 ESR,将WebDriver版本锁定到2.53.0。 原因很简单:当它们发布时切换到较新版本的Firefox或WebDriver太麻烦了。换句话说,事情开始变得不像以前那样可靠。 然后,WebDriver的版本越来越多地带有“beta”后缀:

  • V3.0.0-β1
  • V3.0.0-β2
  • V3.0.0-β3
  • v3.0.0.beta4

我耐心等待,而StackOverflow上的博客和帖子中的人们正在描述如何使用这个beta-WebDrivers和新的Marionette Firefox驱动程序运行更新的Firefox版本。但这一切都闻起来像一个严重的黑客,并没有引发冒险升级大型生产项目的愿望。 现在终于发现v3.0.0发布了。但是当我检查发行说明时,我会在下面的“重要更改”部分中看到:

* Firefox is only fully supported at version 47.0.1 or earlier. Support
  for later versions of firefox is provided by geckodriver, which is
  based on the evolving W3C WebDriver spec, and uses the wire protocol
  in that spec, which is liable to change without notice.
* You may wish to choose an ESR release such as 45.4.0esr or earlier.
* Firefox 47.0.0 is not supported at all.

我没有为此支付任何费用,我知道这是免费软件,但是,如果我在为项目选择Firefox驱动程序时做出了正确的选择,我现在正在认真思考。当我的客户处于领先地位时,我不能再坚持使用Firefox的45.3.0 ESR版本了。

有更好理解的人可以帮助并描述Selenium对Firefox支持的路线图,以及如何在大型项目中对其进行说明?

1 个答案:

答案 0 :(得分:0)

令人惊讶,但有时真正有价值的答案隐藏在评论中,就像JimEvans的评论一样。评论可以随时删除。

我提取它来回答,因为它确实帮助我理解:木偶可能表现不同,因为它试图使用新兴的标准W3C方言,而不是其他浏览器使用的旧的非标准方法。

Jim Evan说:

  

Selenium WebDriver的语言绑定通过通信驱动浏览器   远程端,使用JSON-over-HTTP线协议。这个协议   有两种方言。第一个,起源于开源项目,   已经使用多年了。第二个是由标准化   W3C,还没有完全确定。后者使用了它   木偶。从您的WebDriver API代码的角度来看   方言应该是透明的,但有可能改变   需要传播到语言绑定的W3C规范方言。

     

应该进一步注意到OSS方言是有意的   最终由所有司机取代W3C方言。再次,模数   需要Firefox外部可执行文件的差异(只是   就像今天的Chrome所需要的那样,应该没什么用   更改您的实际WebDriver代码