1.5.0

@jlipps jlipps released this Feb 25, 2016 · 262 commits to master since this release

NOTE: Appium 1.5 is a complete rewrite of Appium from the ground up. Every effort has been made to avoid any breaking changes but caution should be exercised and we did end up making some breaking changes. Please let us know on GitHub if you notice any issues with your tests.

There is also an Appium Discuss post written about this release with more background on why it is important.

General

  • Appium now requires Node 0.12 as a minimum Node version
  • Deprecate server arguments that are also desired capabilities. Instead, add
    a --default-capabilities argument which takes a JSON string of capabilities
    that will be the default for any session. E.g., --default-capabilities '{"launchTimeout": 60000}'
  • Various docs and contributing docs updates (including a code of conduct for
    the project)
  • Add capability validation on the protocol and driver level. Along with this
    we have tightened up requirements on capability values so that they can be
    strictly validated. For example, before you were able to send in a string
    value of "180" for the newCommandTimeout capability. Now you must send in
    an actual JSON number, e.g., 180.
  • Remove the autoLaunch capability since it added a significant
    amount of complexity to the startup flow and Appium shouldn't be responsible
    for this kind of use case
  • Remove long-deprecated name locator strategy

iOS

  • add Tapster support for some more touch methods
  • iPhone 6 + 6S support
  • iOS 9.3 support

Android

  • enable navigating to an android URI via the set url driver methods, e.g.,
    driver.get('content://contacts/people/1')
  • fix some adb issues in Windows (e.g., signWithCustomCert, sdk binary names)
  • fix issue with UIWatcher ssl certificate errors
  • if you want to install all chromedrivers, use --chromedriver-install-all; if
    you want to install a specific chromedriver version, use
    --chromedriver-version="$VER"
  • driver.closeApp no longer runs through the shutdown routine; it simply
    force-stops the app
  • The ANDROID_ADB_SERVER_PORT environment variable has been removed in favor
    of the adbPort desired capability, which does the same thing.

Non-exhaustive examples of internal changes

  • see the developer's
    overview
    for
    a fuller description of Appium 1.5 from a developer's perspective
  • get rid of reset.sh and various other appium build tools in favor of a simple
    npm install
  • split apart Appium into various smaller modules each with their own
    repositories and NPM packages
  • use gulp instead of grunt
  • use babel to transpile from es2015+ to standard es5 code
  • get rid of .appiumconfig.json

Downloads