Loading

What is Selendroid Framework?


Selendroid is an innovative test automation framework which is used to test native and hybrid Android mobile applications. A Selendroid framework drives off the user interface of a mobile or web app, and the test is written using Selenium 2 client API. Selendroid is a dynamic mobile testing framework that can be used both on emulators and real Android devices with an additional option of integrating into selenium grip as a node for parallel testing and scaling.

Benefits of Using Selendroid

Using Selendroid for mobile testing can provide a number of benefits for an app developer/tester. Some of the benefits of Selendroid are as follows:

  • Selendroid is completely compatible with JSON wire protocol and is selenium three ready.
  • Mobile testing using Selendroid does not require modifying the app that is to be tested for the automatic test procedure.
  • Mobile web can be tested using built-in web view app android driver.
  • The framework applies the same concept to automate native or hybrid app.
  • Any UI element can be easily found using different types of locator in Selendroid.
  • Selendroid supports gestures and advanced user interaction API.
  • The framework automatically starts existing emulators.
  • Full hot-plugging supports for hardware devices.
  • Easy and complete integration into Selenium grid as a node, which facilitates scaling and parallel testing.
  • Supports multiple Android target API’s (10-19).
  • Simplifies test case development process because of a built-in inspector.
  • The framework can make use of customized extensions to extend at runtime.
  • Supports interaction with multiple Android devices at the same time. The framework supports both emulators and hardware devices.

Disadvantages of using Selendroid

Selendroid offers multiple advantages over other mobile app testing frameworks but just like every coin has two sides, the Selendroid framework also suffers from some drawbacks. These are as follows:

  • Slow testing speeds
  • Requirement of high-end machines
  • Unusable on system with less than 4 GB RAM

Using Selendroid: Step-by-step process

Step 1: A developer must ensure that to use Selendroid, Java SDK (v1.6 or above) must be necessarily installed on a machine. If SDK is not installed, first install Java framework and configure the variables.

Step 2: Android Studio must be downloaded, installed using default options and a developer should set the Android_Home directory.

Step 3: Download the test application and selenium jar files from Selendroid and place in it a relevant local directory.

Step 4: Attach an Android device using a USB device and enable the USB Debugging Mode.

Testing Process

Android app testing is often seen as a resource intensive process which takes a lot of time and efforts to complete. But testing using Selendroid mobile framework is extremely easy and quick for a developer or tester, during which he can check the functionality and performance of an app on various parameters. To test an app using Selendroid, one should follow the following steps:

Step 1: Install the Eclipse testing environment.

Step 2: Create a new Java project.

Step 3: In the new Java project, add the previously downloaded Selendroid and Selenium jar files.

Step 4: Configure the testNG attribute in Eclipse

Step 5: Connect an Android device with the system with the help of a USB cable and enable the USB debugging mode by navigating to the developer options in the settings menu of the mobile device.

Step 6: Start the Selendroid Server by running the same.

Step 7: Create a new Java project and add the following things to the build path of the new project:

  • Selendroid Standalone Libraries
  • Selenium Jars
  • JUnit Libraries

Step 8: Create a new package under the existing java project.

Step 9: Under the newly created package, create a class to run.

Step 10: Run the class with the help of testNG run configuration.