Основными целями при выборе инструмента у меня были: - open source ( фреймворк с открытым исходным кодом ) - он позволяет управлять приложениями написанными под iOS and Android. - автоматизация native and web приложений - возможность тестировать как на физическом устройстве , так и на симуляторе. - ну и активное развитие проекта наличие хорошей документации Appium - это интрумент автоматизации мобильных приложений использующий Webdriver API. И при это это также HTTP сервер который создает и управляет сессиями Webdriver. Разработчики Selenium webdriver написали специальный протокол, называемый JSON Wire protocol , для того что бы можно было управлять различными браузерами единым образом. Т.е наш webdriver посылает одинаковый команды для разных браузеров по JSON Wire protocol, а уже специальный адаптер для каждого соотвественно браузера транслирует, интерпретирует в команды, понятные нашему браузеру Так вот Appium реализует тот же самый JSON Wire протокол, но только для управления мобильными приложениями. Какие это нам несет положительные моменты. - Большой плюс это то что мы можем писать тесты на многих языках программирования ( C#, java, rybu, pyton, javasript, php ) - мы можем интегрировать нашу автоматизацию с любым тестовым фреймворков. - мы можем использовать селением грид для распределенного запуска тестов Appium можно установить на любую из трех операционных систем . Но на виндоус Appium имеет ограниченный функционал так как для этой платформы он разрабатывался в последнюю очередь. Поэтому на виндоус не будет такой утилиты как инспектор, которая позволяет исследовать приложение и локаторы. Appium внутри себя использует разнообразные инструменты для автоматизации конечного приложения Для автоматизации ios приложений он использует UI Automation - это нативный тестовый фреймворк, написанный на JavaScript и поставляемый вместе с Xcode и утилитой Instruments. Для автоматизации Android приложений. опиум может использовать либо UI Automator or Selendroid. Date: 2015.