Appium 1.9.0 – Key Features and Challenge

Appium 1.9.0

 

Having Appium 1.9.0 out, we find it to be a feature release, comprising multiple updates. Some of the key features brought forward in this release update are:

 

a. Appium users have been facing unlocking device issues with older versions of Appium. This had been a big headache but Appium has resolved this issue with update 1.9.0. Even if the device remains locked, Appium 1.9.0 is very much capable to unlock the device and run your script smoothly.

 

b. If the object is not identified anywhere in the script, you will be able to locate the error in Appium logs itself.

 

c. Appium 1.9.0 comes with much faster execution compared to its older versions.

 

d. The log information is more insightful and detailed than before.

 

Let us have a look at Feature release updates below:
(Source: https://github.com/appium/appium/releases)

 

General

  • Full W3C Specification support.
  • Add full beta of Espresso driver
    for Android automation (used by specifying automationName capability to be
    “Espresso”).
  • Add driver for Samsung Tizen devices
  • Add -image find element strategy,
  • Fix –async-trace server argument, and rename as –long-stacktrace
  • Sample code has been moved into the main repository to aid in maintenance.
  • Fix status retrieval to speed up performance.

iOS

  • Add support for Xcode 10 beta 5 and iOS 12 beta 5.
  • Add preliminary support for MacOS Mojave beta.
  • Add face id biometric support.
  • Fix retrieval of device time, and add optional format parameter.
  • Do not crash if there is no idevicesyslog when ending session.
  • Handle frames when page changes in Safari.
  • Add desired capabilities:
    • remoteDebugProxy – port or Unix domain socket on which a proxy for the
      remote debugger sits.
    • safariGarbageCollect – turn on/off JS garbage collection in Safari.
    • showSafariNetworkLog – print Safari network logs in the Appium server logs.
    • mjpegServerPort – port to which screenshots can be streamed.
  • Fix handling of settings updates, so simulators are not restarted unnecessarily.
  • Allow pulling of folder from real devices.
  • Add mobile: getContexts execute function, to retrieve meta-information (title,
    url, etc.) about available contexts.
  • Fix certificate retrieval and handling.
  • Fix cookie handling, to allow secure cookies.
  • Fix Safari timeout issues.
  • Add support to retrieve Safari network logs, as safariNetwork log type.

Android

  • Update Chromedriver to v2.41.
  • Get Chrome version for Webviews in Android 7+, to find correct Chromedriver.
  • Make sure UiAutomator processes are cleaned up during test.
  • Fix handling of autoWebview capability.
  • New desired capabilities:
    • mjpegScreenshotUrl – url to stream screenshots to.
    • chromedriverUseSystemExecutable – boolean flag to use the default Chromedriver
      installed with Appium, avoiding any attempt to find correct Chromedriver.
    • disableWindowAnimation – disable window animations on device (now available
      on UiAutomator and UiAutomator2).
    • pageLoadStrategy – page load strategy for Chromedriver.
  • Allow test-only APKs to be installed.
  • Fix implicit wait handling for finding elements.
  • Better handle Unicode IME installation.
  • Relax package validation logic.
  • Fix error in UiAutomator searches with nested quotes.
  • Perform accessibility refresh when needed on UiAutomator2.
  • Improve logic for determining if apps need upgrade.
  • Fix screen recording to allow longer recordings, up to 30 minutes.

 

Key challenge with Appium 1.9.0

Now, we bring to you the challenge area that we have been able to identify with this release.

  • Even after using the capability automationName as uiautomatortool, we were unable to locate the object in >=Android v8.0 devices

If you have been able to find out any workaround for this issue mentioned above, kindly share it with us in the comments section.

Shivani Sinha

She is a Product Marketer with over 9 years of diversified experience across content, branding, and product marketing. Her experience ranges from global brands to nimble startups. She is a custodian of Brand & Content, telling stories about the brand that delights customers and provides compelling business value.