Skip to main content

Detailed Comparison Of Mobile Automation Tools

There are wide choice of tools available for mobile automation. Some of them are free, some are rather expensive. Some automation tools were created years ago and died over the time; some have just appeared in the market. Each tool is unique and possesses certain characteristics. 

Wide choice of available automation tools makes it difficult to select the most suitable one for your project. 

Recently for one of our mobile automation requirement I conducted the detailed study of different available automation tools. Below is the criteria which was used to evaluate the mobile automation tools

1. Support for Android and iOS 
2. Support for Web, Native and Hybrid apps
3. Script re-usability/portability
4. Scalability
5. Support for real device and emulators
6. User community
7. Activeness of the tool development
8. Scripting languages support
9. Need to compile app along with user agent
10. License type

Based on the above points below is the chart which shows the detailed comparison of tools 

Apart from the above mentioned tools there are some tools which are specific to Android/iOS platforms.

Android Specific Tools
1. Selendroid
    2. Robotium

     iOS Specific Tools
     1. iOSDriver

Popular posts from this blog

Mobile Web Browser Automation using Appium

Appium supports the automation of mobile web applications. Web apps are not really the applications but they are really websites which changes its layout as per the mobile device display and feels more like mobile native application. Being a website they run on a browser which can be Android, Safari, Chrome, Opera Mini or any other mobile browser. 
Make sure Appium has been installed along with all the dependencies. If not follow the instruction mentioned here.

Script for mobile web app automation;;importorg.openqa.selenium.By;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.remote.DesiredCapabilities;importorg.openqa.selenium.remote.RemoteWebDriver;;;importorg.testng.Assert;importorg.testng.annotations.Test;publicclassAppiumMobileAppTest{ WebDriver driver;@TestpublicvoidandroidB…

Appium setup on WIndows

Appium is an open source test automation framework for use with native, hybrid and mobile web apps.
It drives iOS and Android apps using the WebDriver protocol. Below are the step by step instructions to run Appium on windows machine for Android automation.

1. InstallJDK (7+) on your machine and set JAVA_HOME in environment variables.
Setting JAVA_HOME:   Right click My Computer and select Properties.
  a) On the Advanced tab, select Environment Variables, and then add JAVA_HOME pointing to    where the JDK is located, for example, C:\Program Files\Java\jdk1.7.0_79
  b) Updated the Path variable(Be careful with this as it might corrupt your OS)   Edit Path variable and append with ; followed by %JAVA_HOME%\bin
2. Download android sdk from here ->SDK Tools Only -> android-sdk_<version>   Extract it on a location and set up ANDROID_HOME in environment variables
Setting ANDROID_HOME:   Right click My Computer and select Properties.
  a) On the Advanced tab, select En…

Broken Link Checker using Java & Selenium

We often come across the requirement to validate the links (i.e. Checking Broken links) in the web pages. Performing this task manually is tedious as there might be high number of links in your web page. Generally to validated it we depend on the third party websites where there might be confidentiality issues. Below is the code snippet which can be used locally & quickly to check the links without compromising on confidentially.

import com.jayway.restassured.RestAssured; import com.jayway.restassured.config.RedirectConfig; import com.jayway.restassured.config.SSLConfig; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.annotations.Test; import java.util.List; public class LinkChecker { WebDriver driver = null; public void validateLinksInPage() { List<WebElement> anchorTagsList = driver.findElements(By.ta…