Topics In Demand
Notification
New

No notification found.

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

June 27, 2017

742

0

mobile-web-testing-on-real-devices

First Thing First: Appium Equals Selenium

Appium is just like Selenium – but only for mobile apps and games “. One should have heard about it many times, but in fact, Appium is much more than that.

selenium

It is also suitable for mobile web apps testing, where real devices and real browsers are used in testing. With the same effort and cost, a test automation framework can be built with Appium using real stuff or use an emulator/simulator for the automation.

In a nutshell, Appium is a mobile test automation tool that works for native, hybrid as well as mobile web apps for iOS and Android with the aid of Selenium server. Appium is an excellent choice for test automation framework as it can be used for all these different app/web types.

Fundamentally, Appium derives its root from Selenium and it uses JSON Wire Protocol inside to interact with iOS and Android apps using Selenium’s WebDriver.

In its architecture, Appium is an HTTP server written in Node.js which creates and handles multiple WebDriver sessions. Appium starts tests on the device and takes notes for commands from the main Appium server. It is basically the same as the Selenium server that gets HTTP requests from Selenium client libraries.

Appium has proven its flexibility and scalability in a native mobile app and game testing, as those apps and games tend to be much identical on both platforms i.e. Android and iOS. The benefit of having this cross-platform testing framework helps by using the identical script for running app/game on either platform. The same applies to the mobile web.

Appium scripts run smoothly when web testing is done on Chrome, Firefox, Safari, or WebKit-based browser on Android and iOS where applicable.

Another significant benefit of Appium is that users can write tests using their favourite development tools, environment and programming language, such as Java, Objective-C, JavaScript, PHP, Ruby, Python or C#, among many others.

How to get started and what things to consider?

Don’t worry about the learning curve. If you are familiar with Selenium, then you’ve got Appium covered: They use WebDriver and DesiredCapabilities in the same way. There is a great chance the existing Selenium scripts work as they are with Appium setup. However, configuring an application to run on Appium has a lot of similarities to Selenium — for example, as those of DesiredCapabilities.

Don’t know about Selenium – Follow the URL http://www.seleniumhq.org/ 

The below instructions provide everything to ensure a smooth start with Appium, real devices and real web browsers.

Bear in mind that the mobile ecosystem is very different compared to the desktop world. As mobile OEMs are building their own stuff, they also tend to ‘differentiate’ on various standards – such as browsers.

In fact, mobile browsers – regardless how standard they are – is also one of the areas where almost all devices manufacturers want to add their ‘innovation’.

This is quickly leading to a happy mix of different web kit versions with different functionalities; when combined with the OS version, hardware configuration, sizes of displays, memory and so on can significantly ‘differentiate’ what user gets as a form of these browsers. Building your test scripts with Appium/Selenium and automated testing can quickly get the understanding that how well does the web work on those devices and browsers.

Another area that any mobile web developer needs to pay attention at is performance:

Web page rendering time varies expressively from one device to another.

To ensure satisfactory end user experience it should be tested that how the CSS & Javascript renders across devices. There are already great benchmarks – such as BrowserMark by Rightware can be used to measure the performance of the hardware together with certain versions of browsers. This gives an understanding of the workload with certain device and web browser combination.

Selenium has already cemented its place in web test automation standard and Appium is providing very clean high-level API that can be quickly adopted by Selenium developers. It nicely abstracts a lot of the messy stuff related to parallel running tests.


That the contents of third-party articles/blogs published here on the website, and the interpretation of all information in the article/blogs such as data, maps, numbers, opinions etc. displayed in the article/blogs and views or the opinions expressed within the content are solely of the author's; and do not reflect the opinions and beliefs of NASSCOM or its affiliates in any manner. NASSCOM does not take any liability w.r.t. content in any manner and will not be liable in any manner whatsoever for any kind of liability arising out of any act, error or omission. The contents of third-party article/blogs published, are provided solely as convenience; and the presence of these articles/blogs should not, under any circumstances, be considered as an endorsement of the contents by NASSCOM in any manner; and if you chose to access these articles/blogs , you do so at your own risk.


Comment

images

Why Test Mobile Apps?
Disruptive innovation in mobile technology presents release of smart mobile, tablet devices that are of different resolution, browsers and operating systems. Businesses that rely on digital transformation to engage with customers need to test applications’ functionality, visual appeal, and performance across these devices to delivery unique shopping experiences. Engage with Softcrylic that specializes in making your apps Mobile ready.
Mobile Application Testing Services | Mobile app Penetration Testing 

© Copyright nasscom. All Rights Reserved.