A Complete Guide To Testing With Appium 2.0
Appium 2.0 has officially been released after several years of updating the Appium 1.x, and this is the most major Appium release in the past 5 years. Many significant changes were introduced, including removing deprecated features, adding improvements, and most importantly, re-envisioning Appium as a platform.
In this article, we’ll explore in-depth on how you as a tester can leverage this transformation in their projects.
What is Appium 2.0?
Appium 2.0 is the latest version of Appium. It is a popular open-source mobile automation testing framework, allowing you to write and execute automated tests for mobile apps on different platforms, such as Android, iOS, and Windows.
Appium 2.0 Features
The biggest difference was that Appium 2.0 positions itself as a platform that enables easy creation and sharing of "drivers" (code projects for automating a specific platform) and "plugins" (code projects for modifying, extending, or adding functionalities to Appium).
Several other major features include:
Independent Drivers
Starting from Appium 2.0, drivers can be independently installed/uninstalled or updated. For example, instead of waiting for a new release of the Appium server, we have the option to solely update the driver for XCUITest using CLI commands.
Install Drivers
appium driver install xcuitest
Update Drivers
appium driver install xcuitest
Update Multiple Drivers
appium driver update xcuitest,uiautomator2
Plugins
Anyone can now create and release a plugin that can be installed in Appium. Customization will now be a more straightforward process.
To list out all Appium plugins:
appium plugin list
To install a plugin name, simply:
appium plugin install pluginname
Protocol Changes
Appium's API is based on the W3C WebDriver Protocol, which has been used for many years. Before the W3C WebDriver Protocol became a web standard, Selenium and Appium used other protocols called "JSONWP" (JSON Wire Protocol) and "MJSONWP" (Mobile JSON Wire Protocol). The W3C Protocol has a few minor differences compared to the (M)JSONWP protocols.
In Appium 2.0 and earlier, both protocols were supported to ensure compatibility between older Selenium/Appium clients and newer Appium servers. However, older protocols will no longer be supported going forward. This also means that you can no longer start Appium sessions using WebDriver clients that don't support the W3C protocol.
How To Install Appium 2.0
You can install Appium 2.0 via NPM using this command:
npm i -g appium@next
Level Up Your Appium 2.0 Testing With Katalon
Katalon Platform is a comprehensive quality management platform supporting test creation, management, execution, maintenance, and reporting for web, API, desktop, and of course mobile applications across a wide variety of environments, all in one place, with minimal engineering and programming skill requirements.
After you download Katalon Studio, you can select which version of Appium you want to test in Project Settings → Execution → Mobile. Katalon has 1.x and 2.x version (which is still in beta)
You can create your mobile tests quickly using Katalon's Built-in Keywords, which are essentially pre-made code snippets. These snippets can be easily used to create a complete test script for a wide variety of mobile features. Another interesting feature is the Record-and-Playback, which essentially records all of the actions happening on your screen and stores them as automated test scripts that you can re-execute across browsers and devices.