官方原文广告

Good day, friends of Appium,

We have a significant release today. Thanks to the many of you who contributed to it! Please check it out and read carefully below for Appium's roadmap over the next month: https://github.com/appium/appium/releases/tag/v0.18.0

0.18 signifies a milestone wherein all the features we want for Appium 1.0 have been implemented, and old APIs officially deprecated. Some examples:

We are in the process of adding support for these new behaviors into specialized Appium client libraries, which will be released for every language in advance of the 1.0 launch (slated to be May 2, 2014). Here are links to some of the client libraries which will extend the Selenium clients:

Note that you will not need these clients to run against an Appium server--you'll always be able to use a regular Selenium client library. However, certain of Appium's features which go beyond the WebDriver spec (installing/uninstalling apps on the fly, ending Android test coverage, getting app strings, etc…) will only be supported in these libraries (or if you rewrite that support in your own code).

In advance of the 1.0 release, we will also update the website, documentation, and tutorials with language-specific examples of using the above libraries, once they're ready.

In terms of Appium's development, as of this release we will develop Appium in two parallel branches:

Branch 1: Appium 0.18.x. This branch will contain only bugfixes for the Appium 0.18 release. No new features will be allowed in this branch.
Branch 2: Appium 1.0-beta-x. This branch will merge in bugfixes from the 0.18.x branch, and in addition will remove the features which have been deprecated in 0.18. Again, no new features will be allowed in this branch.

You want to pull or download releases from Branch 1 in order to keep using Appium as it is. You want to pull or download releases from Branch 2 in order to make sure that your code will continue to work with Appium 1.0, once the deprecated features have been removed from the codebase. Branch 2 will initially be hard to use while the client libraries are in the early stages of development--so get involved and help us test out these new client libraries along with the Appium 1.0-beta-x branch! Your feedback is crucial to make sure that Appium's docs, tutorials, and stability will be where we need it to be on launch day (May 2).

A milestone exists on GitHub which tracks what needs to happen before we can officially launch Appium 1.0: https://github.com/appium/appium/issues?milestone=2&state=open. Any issues or bugfixes that you want resolved in time for Appium 1.0 need to make it on this list!

As always, your help in providing reproducible bug reports or contributing documentation or code is always appreciated. I'm personally very excited about tagging a 1.0 release, and I hope you'll all agree with me that it will mark a new phase of maturity for this open source project and community.

Cheers,
Jonathan

主要的改进点

  1. 支持原生 xpath, 这是我们一直期待的功能, 这个功能需要通过一个开关来设置.
  2. 已经用 contexts 来进行 webview 的切换
  3. 增加了一个新的定位策略 raw, 来分别表示 ios 和 android 下的底层框架定位代码
  4. 支持手势
  5. mobile 系列的方法已经不建议使用了, 并会在后续的版本中移除. 新的标准支持已经实现, 考虑到各种实现库并不能完全支持新的功能, 所以在各个库上提供了一个扩展包来实现标准支持
  6. 后续的开发会采用多分支模式,0.18 会是最后一个非标准版本.1,0 版本会正式移除不建议使用的特性, 比如 mobile 系列的方法. 这个可能会影响很多用例, 所以请注意迁移. 或者继续使用老的 0.18 版本过渡.


↙↙↙阅读原文可查看相关链接,并与作者交流