Существует множество возможностей для использования какого-либо драйвера, и разница в том, какие функции конкретной платформы вы хотите иметь.
Для Android наиболее конкретным драйвером будет AndroidDriver. AndroidDriver расширяет AppiumDriver (тот, который вы используете сейчас), и AppiumDriver расширяет RemoteWebDriver. Другими словами, RemoteWebDriver имеет наименьшие функции и продвигается на один уровень с драйвером.
Java-клиента AndroidDriver: http://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html
Наследование AndroidDriver, как показано на странице API документации:
java.lang.Object
org.openqa.selenium.remote.RemoteWebDriver
io.appium.java_client.AppiumDriver<T>
io.appium.java_client.android.AndroidDriver<T>
Обратите внимание, что AppiumDriver и AndroidDriver включают <T>, который позволяет выбрать, что тип MobileElements, который вы используете. Для того, чтобы получить доступ ко всем Android особенности драйвера, вы можете определить <T> к <AndroidElement>: http://appium.github.io/java-client/io/appium/java_client/android/AndroidElement.html
Наследование AndroidElement:
java.lang.Object
org.openqa.selenium.remote.RemoteWebElement
io.appium.java_client.MobileElement
io.appium.java_client.android.AndroidElement
IOS имеет так же IOSDriver: http://appium.github.io/java-client/io/appium/java_client/ios/IOSDriver.html С наследованием:
java.lang.Object
org.openqa.selenium.remote.RemoteWebDriver
io.appium.java_client.AppiumDriver<T>
io.appium.java_client.ios.IOSDriver<T>
Во многих случаях достаточно просто использовать AppiumDriver вместе с <WebElement> (используется по умолчанию) или <MobileElement>
Можем ли мы использовать AppiumDriver с вне или –
Некоторые тип элемента всегда используется. Если вы не определяете его, WebElement будет использоваться по умолчанию. Вы можете использовать WebElements в автоматизации приложений Android/iOS просто отлично, но с меньшими возможностями для управления элементами. – Domestus