Posts Tagged ‘IOS’

Mobile Automation Testing is a must for every project nowadays. I am not going to talk about advantages and disadvantages of Automation Testing here. I want to discuss about few basic but important things that can help write effective Automation Code for any platform.

When we start our Automation Project, we all involve ourselves into various strategies and techniques to test a functionality End to End. We implement Test Execution steps, Data Driven Framework (mostly), Reports, Loggers and what not. To navigate through various screen having data or images, we write predefined wait conditions or we implement complete codes to wait by ourselves. Even though we face few issues like timeout/specified element/screen not found error and etc while waiting for an activity (in android) / screen / UI elements. So, we happen to run and test our code multiple times to ensure that our code works fine and it’s the device or app which is having problem. Finally we let it go and publish our code.

But we always forget or ignore basic OS function/Apps in Device. Here are few tips which will can fix these issues.

  1. Disable Animation in your Device: In Android, Go to Settings > Developers options and set “Window animation scale”, “Transition animation scale”, “Animator duration scale” to “Off”. In iOS, Go to Settings > General > Accessibility and turn off “Reduce Motion”
  2. Force Stop / Uninstall any app which uses internet
  3. Turn off Automatic Sync for your mails / Dropbox or any other apps/widgets
  4. Close all background apps
  5. Clear your RAM and have adequate memory available
  6. Select a good Wifi Connection or use Mobile Network. 4G or 3G is preferable than 2G
  7. Use an Automation Tool which gives maximum accuracy level. E.g. Robotium for Android (You should also checkout Google’s “Espresso – Android Test Kit”)

Hope this will help you next time when you perform Automation Testing. Please do comment on the post and share your thoughts.


An emulator is a piece of software that translates compiled code from an original architecture to the platform where it is running, such as the great MAME. In the mobile development world, a device emulator is a desktop application that emulates mobile device hardware and operating systems, allowing us to test and debug our applications and see how they are working. There are also operating system emulators that don’t represent any real device hardware but rather the operating system as a whole. These exist for Windows Mobile and Android.

On other hand, A simulator is a less complex application that simulates some of the behavior of a device, but does not emulate hardware and does not work over the real operating system. These tools are simpler and less useful than emulators. A simulator may be created by the device manufacturer or by some other company offering a simulation environment for developers.

The Android SDK includes a mobile device emulator — a virtual mobile device that runs on your computer. The emulator lets you develop and test Android applications without using a physical device.