Search code examples
androidautomationappiumui-automation

Advantages of using Appium vs Uiautomator


I'm new to mobile automation and I'm planning to automate a native Android app (not my own so I have only the APK file) so I was reading about the tools available for Android automation. I came across Appium which I understand uses Uiautomator to do so. I was wondering what are the advantages of using Appium instead of directly using Uiautomator or in which case is better to use Appium or Uiautomator.


Solution

  • If you use native tools for mobile automation then you have to learn different languages to write scripts; e.g. a UIAutomator script will have to be written in Coffee. Similarly for iOS XCUITest, you have to know Swift C or direct methods of the XCUIElement class.

    But if you use Appium, you can write scripts in your favorite language; e.g.: Java,C#, Python, Ruby, JavaScript, etc.

    With Appium you can use a single framework for both android and iOS platforms. If you use native tools, then you have to maintain different frameworks for you AUT.

    Summary -

    1. Native tools - Language dependency, different platforms requiring different frameworks to be maintained, script execution is faster.
    2. Appium - No/Minimal language dependency, easy-to-maintain frameworks, script execution is slower as it is a wrapper over native SDKs.