AndroidDriver——查看AndroidDriver部分源码:
public class AndroidDriver<T extends WebElement>
extends AppiumDriver<T>
implements PressesKey, HasNetworkConnection, PushesFiles, StartsActivity,
FindsByAndroidUIAutomator<T>, FindsByAndroidViewTag<T>,
LocksDevice, HasAndroidSettings, HasAndroidDeviceDetails,
HasSupportedPerformanceDataType, AuthenticatesByFinger, HasOnScreenKeyboard,
CanRecordScreen, SupportsSpecialEmulatorCommands,
SupportsNetworkStateManagement, ListensToLogcatMessages, HasAndroidClipboard,
HasBattery<AndroidBatteryInfo>
- 发现AndroidDriver继承至AppiumDriver,并实现了十多种Android api
AppiumDriver——查看AppiumDriver部分源码:
public class AppiumDriver<T extends WebElement>
extends DefaultGenericMobileDriver<T> implements ComparesImages, FindsByImage<T>, FindsByCustom<T> {
abstract class DefaultGenericMobileDriver<T extends WebElement> extends RemoteWebDriver
implements MobileDriver<T> {
- 发现AppiumDriver继承至RemoteWebDriver并实现了ComparesImages、FindsByImage等方法
RemoWebDriver——查看RemoWebDriver部分源码:
public class RemoteWebDriver implements WebDriver, JavascriptExecutor,
FindsById, FindsByClassName, FindsByLinkText, FindsByName,
FindsByCssSelector, FindsByTagName, FindsByXPath, HasInputDevices,
HasCapabilities, Interactive, TakesScreenshot
- 发现RemoWebDriver实现了WebDriver和其他一些find方法等
ChromeDrvier——查看ChromeDrvier部分源码
public class ChromeDriver extends RemoteWebDriver implements
LocationContext, WebStorage, HasTouchScreen, NetworkConnection
- 发现ChromeDrvier继承至RemoteWebDriver 并实现了一些方法
总结:
AndroidDriver=AppiumDriver + 十多种Android api
AppiumDriver=RemoteWebDriver + ComparesImages。。。
RemoteWebDriver=WebDriver + 。。。
ChromeDriver=RemoteWebDriver +。。。
- 如果我们对Android进行自动化,需要调用部分Android API的话就需要使用AndroidDriver