记得 3 年前 selenium core team 就放出风声 selenium3.0 将在某个圣诞节发布,然而大家等了 3 年,就在所有人都不再关注 selenium 进度的时候,selenium3.0 beta1 悄悄发布,传送门在这里。
本次更新没有什么特别引人注目的地方,起码看起来是这样,不过仔细的看一下更新内容,我们发现这几年来 selenium 的发展其实是非常稳健的,webdriver 协议现在俨然已经成了各家浏览器提供商共同支持的官方标准。
去掉了对 selenium rc 的支持。这么多年了,rc 终于退出了历史舞台。这标志着 webdriver 协议最终一统江湖。说实话,rc 毕竟是继子,webdriver 才是亲儿子,假儿子给真儿子让路,豪门继承权尘埃落定。
全面拥抱 java 8。 如果你需要使用 selenium 的 java binding 话,那么你就必须使用 java 8 了。这个不奇怪,毕竟 java 8 是 Oracle 官方支持的版本。不出意外 selenium 的 standalone server 也必须运行在 java 8 上了。
支持 macOS (Sierra or later),支持官方的safaridriver。 还记得当年配置 safari driver 时各种操蛋的经历吗?还记得 safari driver 从入门到放弃的过程么?现在应该不会了吧,毕竟 apple 现在出了官方的 safari drvier 版本。从这里我们可以看出,对于 webdriver 协议,apple 是买单的。
通过 ms 官方的webdriver server支持 Edge 浏览器。又是一个官方的版本,ms 表示坚决支持 webdriver 协议的内容,这也意味着以前性能及稳定性都很差劲的 ie driver 应该逐渐被淘汰掉了。
只支持 ie 9.0 版本以上。这是必然的,以前的 ie driver 是第三方版本,亲儿子发布了,私生子自然要退出历史舞台了。
通过 Mozilla 官方的geckodriver来支持 firefox。尽管 firefox driver 非常的稳定高效,但 firefox driver 毕竟是 google 实现的,现在亲儿子 geckodriver 来了。geckodriver 的出现是必然的结果,因为最新版本的 firefox 换引擎了,老的 firefox driver 应该是不支持新引擎的。看到这里你是不是有这样的疑问,我所说的 firefox driver 究竟是个什么鬼,为什么你一次都没下载运行过?这是因为 firefox driver 包含在 selenium 各语言版本的分发包里,使用 webdriver 启动 firefox 的时候,webdriver 会为 firefox 安装 firefox driver 扩展。
见仁见智。如果你需要测试 edge 或者是 safari 的话,那么更新是必要的,否则的话我们可以选择等待下一个 beta 版本。
webdriver 协议现在已经成为业内公认的浏览器 ui 测试的标准实现。简而言之,做浏览器 ui 测试,请认准 selenium webdriver 商标。webdriver 协议是 google 对开源测试领域的重要贡献,感谢 google 赏饭吃。
各种官方支持意味着以后的浏览器 ui 测试的速度和稳定性会有较大的提升。selenium 2.0 时代只有 chrome driver 是官方出品 (我是不是忘了 opera driver??),其它实现均是第三方。从稳定性上说,2.0 时代最稳定的测试浏览器是 chrome 和 firefox,其它浏览器支持均或多或少有些问题,不过这些问题应该是一去不复返了吧。什么时候 appnium 会有官方的支持呢?
浏览器 ui 自动化测试已经成为了行业标配。这也是为什么几乎所有浏览器厂商都推出自己官方 driver 的原因。
selenium 专注 web 测试。这个问题几年前 selenium 团队就应该做了解答,app 的测试就交给更专业的 app 测试工具去做吧。
看这里。注意看域名w3c.github.io,w3c 意味着什么大家都知道吧?