Back to top

The Basics of Mobile Web Apps Testing On Real Devices Using Selenium / Appium

  • Software testing
  • Abhay Das
  • June 6, 2017
  • Share ICon Share

First Thing First: Appium Equals Selenium

Appium is a lot more than what you think it is. It is also suitable for mobile web apps testing, where actual devices and actual browsers are used in testing. With the equal effort and cost, a test automation framework can be built with Appium. “.


A mobile test automation framework that functions for all: native, hybrid and mobile-web apps for iOS and Android.

Appium is an ideal test automation framework that is used across many different apps/web types.

Basically, Appium develops its roots from Selenium and it uses JSONWireProtocol internally which uses Selenium’s WebDriver to interact with iOS and Android apps.

Appium, with respect to architecture, is a HTTP server written in Node.js. Multiple WebDriver sessions are created and handled by Appium.

Appium inititates tests on the device. The Appium server then sends commands to the tool. It functions the same as how the Selenium server gets HTTP requests from the client libraries.

Across Various devices and Platforms, Indium is your one stop solution. Click here to learn more about our Mobile App Testing Services

Mobile app Testing

Appium is flexible and scalable in native mobile app and game testing. This is because the apps and games built by app and game developers are very identical on both platforms, Android and iOS.

The advantage of having these sort of cross-platform framework helps using the identical scripts when the app or game is running on either platform. The very same applies for mobile web.

Appium scripts run nicely whether you are testing website on Chrome, Firefox, Safari, WebKit-based browser on Android and iOS (where applicable).

Another noteworthy advantage of Appium is that users can write tests using their favorite development tools, environment and programming language, such as Java, Objective-C, JavaScript, PHP, Ruby, Python or C#.

Familiarity with Selenium assures knowledge of Appium. They use the same WebDriver, and Desired Capabilities is used the same way.

There is a great chance your existing Selenium test scripts work as they are with Appium setup. Nevertheless, configuring an application to run on Appium has a lot of similarities to Selenium.

The mobile ecosystem is very dissimilar to the desktop world. Mobile OEMs build their own stuff and differentiate on various standards like browsers.

Mobile browsers, regardless of how standard they are, are the areas that mobile manufacturers target to showcase their innovation.

Different webkit versions with different functionalities are coming into play today. The combination of OS versions, hardware configurations, different sizes of displays, memory and so on can considerably ‘differentiate’ what the user can expect from the browser.

Test script building with Appium/Selenium and automating testing can quickly get you to understand how well your web stuff works on those devices and browsers.

Performance is a key area that mobile web developers need to pay attention to. Web page rendering time vary significantly from one device to another and to ensure acceptable end user experience you need to test how your CSS & Javascript renders across devices.

Benchmarks like BrowserMark by Rightware have already been set. BrowserMark is used to measure the performance of hardware together with certain version of a browser. This gives an understanding of the workload with certain device and web browser combination.

Selenium today is a web test automation standard in the market. Appium provides a high level API that can be adopted by Selenium developers.

Abhay Das