Technical Project Lead @ Huawei Technologies

My photo
Bangalore/Hyderabad, Karnataka/Andhra Pradesh, India
Have an overall 13 + yrs of experience Currently working as an Senior Architect.Expertise in design,implementation of Automation frameworks for Opensource automation tools like Selenium,Jmeter, Webdriver,Appium, Robotium Expertise in integrating Test & ALM Management tools like Rally,Qmetry,JIRA-Zephyr with Automation frameworks Expertise in design and developmenet Mobile Automation frameworks for tools like Appium, Robotium Remote Control,Cucumber BDD,Manual Testing


Thursday, October 24, 2013

Android Automation using Robotium Remote Control

I have been Evaluation the following open Source automation tools and the ones I'm looking to have
is to support the following.
  1. Independent of Application(AUT) Source Code and the automation should be supported using APK
  2. Tool to support integration with  OOPS so that the framework can be built robust.
  3. Achieve execution of the tests from Client machine rather than running them on device.
  4. Independent of Instrumentation frameworks like Junit.
  5. Integrate the tool with other opensource API like log4j and other Java supported API
  6. Object identification support based on object properties like 'name' rather than screen coordinated.
  7. Build and continuous integration support

Initially started the analysis with Robotium and Monkey talk and below are my observations

Monkey talk : is an open source android Functional Automation tool that support both on record and scripting. Since the scripting t javascript based i was a bit biased in selecting this tool to integrated with our existing automation framework.

Parking Monkey Talk aside, I started evaluating thest Robotium. Below are my observations
  1. Cool Java API and seems to be best fit into my framework.
  2. Limitations of Robotium is that it is tightly coupled to Junit Instrumentation framework.
  3. Tests are compiled as apk files and execution happens over the device. hence it is difficult to control or Debug the tests.
  4. Cannot track the custom log message other than logcat messages.
I came across another version of Robotium called Robotium remote Control.

  1. Execution can be controlled from a client machine which is the major advatage over Robotium Solo
  2. Independent of Junit Instrumentation Classes
  3. Support integration with log4j,Droid@Screen and other opensource Java API