Automation tools for mobile application testing use one of two major technologies:
Object based tools : This approach is independent of screen size or resolution and provides a high degree of script reusability. This can be especially important for Android devices where variations in screen sizes and resolutions are widespread. Some object-based tools (e.g. Jamo Solutions) require changes to application source code while others (e.g. Robotium) do not require any source code changes.
Image based or bitmap based tools:
(such as Perfecto mobile and DeviceAnywhere) create automation
scripts based on screen coordinates of elements. For example, tapping a button on the screen is achieved
by tapping the coordinates (e.g. x=35, y=40). While this approach is agnostic to the type of application
(native, web, hybrid) and provides useful image matching capabilities, it typically requires jailbroken or
rooted devices and scripts to be re-written for each device with a different screen size or resolution (due
to change in coordinates). Jailbroken devices are typically incompatible with enterprise MDM security
policies and hence tools that rely on jailbroken devices may not be suitable for testing enterprise apps.
Image based or bitmap based tools:
(such as Perfecto mobile and DeviceAnywhere) create automation
scripts based on screen coordinates of elements. For example, tapping a button on the screen is achieved
by tapping the coordinates (e.g. x=35, y=40). While this approach is agnostic to the type of application
(native, web, hybrid) and provides useful image matching capabilities, it typically requires jailbroken or
rooted devices and scripts to be re-written for each device with a different screen size or resolution (due
to change in coordinates). Jailbroken devices are typically incompatible with enterprise MDM security
policies and hence tools that rely on jailbroken devices may not be suitable for testing enterprise apps.