Skip to content

Releases: appium/appium

1.2.3

24 Sep 22:27
Compare
Choose a tag to compare

General

  • add a settings api (used currently only for Android xpath compression)
  • add configurable loglevels for different transports
  • allow appium to be run under sudo if the sudo user owns the appium files

iOS

  • fix crash while recovering from instruments failure
  • add ability to launch app by 'bundleId' cap alone (no 'app' cap)
  • misc groundwork for iOS8
  • fix bug that prevented scrolling collectionViews
  • more crash recovery bugfixes
  • use 'click' atom in webviews, 'tap' sent two clicks
  • fix bug where we'd try to kill a null logging proc and crash
  • enable performance logs for webviews
  • allow automation of native frame in safari (actually works on 7.1!)
  • fix uiautomation predicate search bug
  • fix 'spawn ENOENT' bug caused by a missing deviceconsole binary
  • fix autoAcceptAlert bug
  • fix certain findElement crashes
  • fix hideKeyboard bugs

Android

  • fix issue with unzipping apk
  • add ability to launch arbitrary apps/activities mid-session
  • add lock() method to lock screen
  • add unlock() method to unlock screen
  • fix bug where app would be classified incorrectly as not installed
  • add settings api member for setting layout hierarchy compression
  • fix crash when touch actions attempted on webviews
  • undo setText changes and simply handle hint text fields better

Selendroid

  • fix --selendroid-quick reset.sh option
  • fix unicode keyboard issues
  • fix bug in getting window_handles
  • fix bug that would prevent launching an app with spaces in its apk path

1.2.2

25 Aug 17:56
Compare
Choose a tag to compare

General

  • add doc for running on multiple devices simultaneously
  • move sample code and sample apps out of the main appium repo
  • remove http request size limit

iOS

  • check to make sure an element is not UIAElementNil before returning it
  • add a configurable key delay to help with keyboard smudging
  • fix issue with deleting cookies in mobile safari
  • correct sendKeys behavior not to clear text before sending keys
  • remove 'iwebview' support, since automating safari works
  • fix bug where apostraphes in accessibility ids caused elements not to be
    found
  • use deviceconsole instead of idevicesyslog to capture ios logs
  • fix bug where automating safari on a real device would hang forever and never
    start a session
  • fix bug where getting text() on a textfield would return its label instead of
    its value

Android

  • cache Chromedriver webview objects so we don't need to start a new
    Chromedriver on every context switch
  • correct sendKeys behavior not to clear text before sending keys
  • allow chromeOptions cap object to be passed to chromedriver
  • download all chromedriver architectures for linux (32 and 64 bit)
  • make sure we stop adb logcat logging when ending a chrome session so we don't
    leak processes
  • add noSign capability to skip the apk resigning process
  • add setText method that will clear a text field before adding text; this is
    primarily useful for textfields with hint text where clear() does not work
    in general
  • move xpath parsing into the android bootstrap, for fewer bugs and greater
    reliability. NOTE: this could be a breaking change depending on the kind of
    xpath selectors you are using
  • clean android XML tags of invalid characters like '$'
  • fix bug where '&' would be sent into a textfield as '&-'
  • add isLocked method to determine whether screen is locked
  • add ability to automate the native portion of the Chrome/Browser apps

Selendroid

  • make sure the contact manager test app has the required internet permissions

1.2.1

07 Aug 23:29
Compare
Choose a tag to compare

General

  • fix up sample code
  • bring back support for autoLaunch=false case
  • reset commandTimeout during implicit wait cycles
  • remove deprecated window_handles methods
  • add --local-timezone flag that uses timezone for timestamps
  • add a configurable --callback-address and --callback-port for execute_async
  • update setLocation method to use correct spec params for geolocation
  • add networkConnection to server capabilities so clients can use the API
  • if boolean cap values are sent in as strings, convert them to boolean

iOS

  • fix bug where we waited for safari7 dirs when we weren't on ios7.x
  • improve deviceName flexibility and device recognition
  • make sure instruments and uiauto know about the tmp dir flag
  • fix install/uninstall logic for real ios device
  • fix bug with parsing of binary vs XML plists
  • fix handling of multiple taps
  • clean up iOS simulator log
  • fix hang when ending a real safari session
  • implement pushFile for ios
  • allow .ipa in the list of downloadable app types
  • retry getting screenshot if it fails
  • fix JavaScript error when using sendKeys
  • fix error where testsuite would kill appium in its ios reset cycle
  • fix error in getting localized strings

Android

  • fix handling of IME activation
  • fix chromedriver kill logic
  • support API level 10 style focused activity strings
  • add lots of fallback strategies for element.clear()
  • update api level dependency for the project to 19
  • add fallback strategies for finding app activity from AndroidManifest
  • fix bug with xpath searches for //*
  • fix xpath search bugs, now we use UiAutomator's instance() which is more
    reliable
  • fix grunt-helpers bug when building appium on windows
  • retry all adb commands to make all adb commands less flakey
  • upgrade chromedriver to 2.10

Selendroid

  • fix for setValue and getContexts methods, they were not using a custom
    selendroid port if active
  • selendroid now requires internet permission in apps; fail if it's not
    present
  • add custom keystore support
  • upgrade selendroid to 0.11.0

1.2.0

01 Jul 19:54
Compare
Choose a tag to compare

General

  • migrated to express 4 for the webserver
  • allow setting tmp dir with --tmp flag
  • upgrade many submodules including wd
  • add --strict-caps mode which will cause sessions to fail which send in
    bad or unknown caps
  • add error handling for invalid multi-pointer gestures
  • add autoWebview capability to automatically get into a webview context of a
    hybrid app
  • remove deprecated -real xpath locator strategy
  • allow bypassing appium's sudo checks
  • add generic crash handler
  • many documentation and sample code updates

iOS

  • prevent log lines without dates from being filetered out
  • add keepAppToRetainPrefs cap to avoid deleting location plists
  • check for accessibility id matching selector then fall back to string match
  • add flag for specifying where in .app hierarchy Localizable.strings is
  • use a dynamic bootstrap in appium-uiauto
  • upgrade mechanic
  • implement pullFolder to get an entire folder from the sim
  • make sure launchAndKill can wait for specified directories before killing sim
  • get rid of ForceQuitInstruments
  • update hideKeyboard to take various possible strategies
  • fix launchAndKill to wait for safari-specific directories
  • make sure all pageload timeouts are cleared and called only once
  • disable ios grace delay
  • don't return duplicate elements

Android

  • renamed keyevent to press_keycode and long_press_keycode
  • add dedupe to complex_find
  • fix activity-finding logic
  • fix error handling in installApp
  • extract adb code into its own package, appium-adb
  • add support for opening notifications
  • add automation support for embedded chromium
  • fix pushStrings to work with 'app' as package
  • fix id serach
  • cause appium to fail if we can't parse package/activity
  • add package name to android webview context
  • make sure UNZIP env var doesn't confuse our internal unzip calls
  • add appIntent etc capabilities so app can be launched with a certain intent
  • add IME methods, and an appium-specific IME that is automatically installed
  • add unicodeKeyboard capability which allows sending unicode text
  • fix installApp, prevent a server crash

Selendroid

  • faster selendroid installer

1.1.0 (Cygnus)

28 May 01:31
Compare
Choose a tag to compare

General

  • less buggy xcode locator strategy for iOS and Android
    • note that for Android this might cause previous xpath selectors not to
      work, since we now always set compressed hierarchy when getting the xml
      dump used for xpath
  • fix defaults for swipe duration
  • add fixes for context switching
  • add optional argument 'language' to getStrings
  • update docs and code samples (including adding perl code samples)
  • continue work on appium CI
  • make sure we can't close already ended sessions
  • upgrade all node deps besides express

iOS

  • add -ios uiautomation strategy doc

Android

  • allow for encoding of non-ASCII text
  • clearer activity error messages
  • add language and country support
  • extract strings from apk corresponding to device language instead of default
    to be used with ID locator strategy
  • update complex find with new uiautomator constants
  • upgrade Chromedriver to 2.10
  • allow automation of Chrome Beta with browserName: ChromeBeta

Selendroid

  • update selendroid to 0.10.0
  • add getStrings method

Appium.app

  • new AppleScript OM

1.0.0 (Orion)

03 May 05:49
Compare
Choose a tag to compare

CHANGES IN VERSION 1.0.0 (from 1.0.0-beta.2)

General

  • update python samples to use 1.0 style
  • don't convert 'proxy' or 'launchTimeout' caps into strings
  • make sure commit hooks use local grunt and mocha
  • update some ruby samples to use 1.0 style
  • add more 1.0 docs and sample code

iOS

  • fix mobile safari native tap on android by offsetting tap position by 40px
  • go back to using unpatched UICatalog
  • fix autoAcceptAlerts
  • allow multiple calls to /contexts
  • update appium-instruments with fix that would prevent the basic 'iPhone
    Simulator' device from launching correctly

Android

  • fix gesture timing so it doesn't interpret ms as seconds

Selendroid

  • ensure selendroid isn't proxied appium endpoint commands

v1.0.0-beta.2

29 Apr 01:03
Compare
Choose a tag to compare
v1.0.0-beta.2 Pre-release
Pre-release

General

  • extensive docs updates (make it ready for the new Slate docs)
  • decode sequence of actions to native "swipe" method
  • fix valid platform error message
  • update WD dep
  • fix proxying when session id is null
  • allow spaces in appium folder name in reset.sh
  • get rid of tag name loc strat in favor of class name

Android

  • allow for different input sets to mobile: find
  • fix apk signing with custom keystore
  • allow MultiActions without an element
  • move chrome tests into their own emulator type
  • fix async bug in getting xml dump
  • use async.queue to ensure synchronicity of commands
  • improve DumpWindowHierarchy so xpath queries don't crash

0.18.2

25 Apr 00:44
Compare
Choose a tag to compare

General

  • extensive docs updates (make it ready for the new Slate docs)
  • decode sequence of actions to native "swipe" method
  • fix valid platform error message
  • update WD dep
  • fix proxying when session id is null
  • allow spaces in appium folder name in reset.sh

Android

  • allow for different input sets to mobile: find
  • fix apk signing with custom keystore
  • allow MultiActions without an element
  • move chrome tests into their own emulator type
  • fix async bug in getting xml dump

1.0.0-beta.1

15 Apr 22:20
Compare
Choose a tag to compare
1.0.0-beta.1 Pre-release
Pre-release

General

  • fix broken log options: --log, --log-no-colors, and --log-timestamp
  • update docs to work with Jekyll
  • change 'launch' desired cap to 'autoLaunch', same defaults
  • fix installApp, launchApp, closeApp, removeApp to use correct app path
  • fix bug in action handling for python client
  • remove deprecated window handle support for native clients (in favor of contexts)
  • remove deprecated old xpath support and promote the '-real xpath' strategy to the
    default
  • remove deprecated json page source in favor of xml
  • remove deprecated mobile methods: location, fireEvent, waitForPageLoad,
    findElementNameContains, localScreenshot, getCommandTimeout, findAndAct
  • rewrite caps.md doc to use new 1.0 style caps
  • remove deprecated --merciful and --device-port flags (add
    --force-quit-instruments flag instead of -m)
  • lots of docs reorganization and prep for new publishing method
  • fix valid platform list
  • update npm deps to latest (except for express)
  • remove all deprecated "mobile: xxx" commands, except for gestures for now
  • use new native methods from WD in testsuite

iOS

  • fix bug where iOS < 7.1 would try to ask instruments for available devices
  • loosen up sudo check for authorize_ios so it can run without issue under sudo
  • rename nonSyntheticWebClick cap to nativeWebTap, and turn it off by
    default

Android

  • fix bug with XML page source where it wouldn't create the dump file correctly
  • change caps with hyphens (-) like "app-package" to be camelCased like the
    rest of Appium caps, e.g., "appPackage"
  • fix bug with custom keystore apk signing
  • allow multi actions without an element

Selendroid

  • fix command timeout bug

0.18.1

11 Apr 02:40
Compare
Choose a tag to compare

General

  • fix broken log options: --log, --log-no-colors, and --log-timestamp
  • update docs to work with Jekyll
  • change 'launch' desired cap to 'autoLaunch', same defaults
  • fix installApp, launchApp, closeApp, removeApp to use correct app path
  • fix bug in action handling for python client

iOS

  • fix bug where iOS < 7.1 would try to ask instruments for available devices
  • loosen up sudo check for authorize_ios so it can run without issue under sudo

Android

  • fix bug with XML page source where it wouldn't create the dump file correctly

Selendroid

  • fix command timeout bug