资讯点评 The Road to Selenium 3

恒温 · 2013年12月16日 · 最后由 思寒_seveniruby 回复于 2014年01月17日 · 1455 次阅读
本帖已被设为精华帖!

Selenium 2 was released in July 2011. It’s now two years old, and what a couple of years it’s been! The WebDriver APIs, which were the major addition in Selenium 2, are now the basis for a W3C standard, and there are implementations written and supported by Google, Mozilla and Opera. There have been 34 releases, with official support for Java, C#, Python, Ruby and Javascript, and the community has stepped in to provide bindings for Perl, PHP and others. There have been 57 different people authoring changes in the code base, and countless more participating in the online forums, offering help and advice.

While all this has been happening, the world has moved on, and now it’s time for the Selenium project to look to the future. It’s with great pleasure that I can now say that we’re working towards Selenium 3.

We aim for Selenium 3 to be “a tool for user-focused automation of mobile and web apps”.

What does this mean? For mobile users, the Selenium project will be hosting a suite of tests to facilitate interoperability between the many different projects available that are extending the WebDriver API to also cope with mobile. Developers from projects such as Appium, ios-driver and selendroid will be working on the suite of tests to enable this.

We’ll also be working on making the technology behind Selenium as stable and capable as possible. For this reason, Selenium 3 will see the removal of the original Selenium Core implementations, and consequently we’ll be deprecating the RC APIs too. The old versions will still be available as a separate download, but active development will cease, except for very urgent fixes. We will still be providing an implementation of the RC APIs backed by WebDriver, so you can continue running your existing tests, but now would be a great time to make the move to using the WebDriver APIs directly.

For those of you exporting your tests from IDE and running the HTML suites, we’ll provide an alternative runner that allows you to continue running those tests too, though it’ll be backed by the same “WebDriver-backed” RC implementation as offered by the main download. Again, the original implementation will be available as a download, but it will no longer be actively developed once we release 3.0.

Our current plan is to start shipping 3.0 by Christmas this year: it’s going to be a lot of fun!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 9 条回复 时间 点赞
恒温 #10 · 2013年12月16日 Author

大致说了三件事,

  • selenium2 历史悠久,版本众多
  • selenium3 将会 web mobile 并行,mobile 自动化,估计会和其他工具协同。
  • rc 代码要移除, rc api 也要 deprecated,Ide 之类的也是。

他貌似不打算自己写移动底层框架了 而是打算兼容 appium 等框架 通过使用一定的通讯协议进行交互 用户写脚本先发送到 selenium3 然后再发给 appium 和其他框架 好处就是用户可以自由选择多种框架 缺点是我感觉只是架构好看 更标准 但用处不大 纯用 appium 也是可以满足基本需求的

#2 楼 @seveniruby 恩,所以 appium 还是能成为中坚

10楼 已删除

#3 楼 @lihuazhang 也不一定 其他框架如果也支持 wd appium 有可能会被架空 不过对咱们使用没啥限制 切换也容易 我觉得 wd 的实现最好可以从电脑转到手机 由手机自己开启服务安装和测试 而不是通过 adb adb 不稳定

#4 楼 @seveniruby 万变不离 wd, 放到手机的话,可能安卓可以由第三方来开发。 ios 估计得苹果自己来了。

#5 楼 @lihuazhang 从这个来看,的确 appium 统一江湖的可能性很大啊

#6 楼 @monkey @lihuazhang uiautomation 的 wd 实现只有 appium 有, 所以 appium 的位置很重要. 肯定是离不开了. 另外一些系统处理操作, 比如开关 wifi 等, 需要扩展 wd 的协议, 类似用 appium 采用的 exeute_script 方式, 在这些移动自动化处理的经验上, appium 更多些. 所以未来一段时间, appium 还是会挑大梁的.

长远来看, selenium3 还是会成为主流, 甚至将来会整合 GUI 的自动化测试. 不过 selenium3 离成熟应用还会很远.

selenium3 不会涉及移动端测试,因为 selenium2 的内核是基于 webdriver 的,目前这个版本拆分的支持语言太多,针对不同主流 4 种浏览器的 buf fix 已经消耗了大家太多的精力。从目前的 git log 上看,现在的 selenium2 更多的是 fix 和 add modify testcase。2013 年 9-11 月份增加了 js 的 webdriver 驱动,有理由相信 selenium3 以后会是 node 容器为主背景了,好处在于测试人员终于又可以降低写 testscript 的时间和难度,搞得地方是 selenium3 会增加更多对本地 local 的控制力,和启用 c++ addin。如果不是 node 方向,那么就是积极拥抱 html5 了,websock 什么的都来上一套,什么科幻玩什么。

appium 也有个问题,目前开源但是它的版权公司是一家商业公司,够好但不够安心,也许有一天 google 收了它也难说,38 亿的室内温度计都收了,也不在乎多花 2 亿收个 appium,哈,何况这东西没这么贵。

希望论坛上的朋友们以后不要写缩写,魔兽里面这么写是为了节省打字,wd 应该写成 webdriver,我忽然一进来看到 wd,我还以为硬盘呢,哈哈。

祝大家在开源的道路上走得开心。

#9 楼 @fastpoint 说的很好. saucelabs 的风格也是很开放的 所以版权问题不会像 oracle 那么变态. node 为容器也是象征着 web 浪潮的进化. 到时候如果各个工具都实现了标准的协议, 那么离开谁都行. 比如 selendroid, 在 appium 中可以集成, 离开了 appium 也可以使用. 这样生态会更稳定.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册