【问题标题】:Difference between AppiumDriver<MobileElement> and AndroidDriverAppiumDriver<MobileElement> 和 AndroidDriver 的区别
【发布时间】:2016-05-19 02:08:16
【问题描述】:

我正在使用 Appium (java) 自动化 android 应用程序。
我搜索了很多地方,但找不到下面提到的两个驱动程序之间的确切区别。

AppiumDriver<MobileElement> driver
AndroidDriver driver

它们之间有什么区别以及何时以及为什么使用哪个?
任何解释/链接/示例都会有所帮助

【问题讨论】:

    标签: android testing automation appium


    【解决方案1】:

    根据io.appium.java_client.android的定义

    public class AndroidDriver<RequiredElementType extends WebElement> 
        extends AppiumDriver<RequiredElementType> implements AndroidDeviceActionShortcuts,
        HasNetworkConnection,PushesFiles, StartsActivity, FindsByAndroidUIAutomator<RequiredElementType> {
    

    AppiumDriver 是安卓驱动的超级驱动。所以现在你应该知道,如果你使用的是超级驱动程序,你有什么,如果你使用的是派生驱动程序,那么所有的东西都可以使用。

    注意:AndroidDriverIOSDriver 是为不同平台派生的,以实现它们的特定功能,将一个平台与另一个平台抽象出来。

    尽管无论如何不应一概而论,但我个人建议使用 AppiumDriver,以防对使用哪个以及如何访问应用程序上的元素有疑问。

    【讨论】:

      【解决方案2】:

      Appium 和 AndroidDriver/iPhoneDriver 的主要区别在于架构。

      AndroidDriver/iPhoneDriver 的基本工作方式相同 - 它们是您在手机上启动的应用程序,可创建一个您可以使用 selenium 远程控制的 web 视图。这种方法的局限性在于:

      Appium 通过包装第一方自动化框架(iPhone 的 UIAutomator 和 Android 的 UI 自动化/仪器)来工作。

      • 您可以驱动一个真正的浏览器,它具有浏览器的所有功能。
      • 操作系统控制 - 除了操作系统公开的用于测试的任何挂钩之外,您还可以更改操作系统设置、清除数据和睡眠应用程序
      • 除了网络测试之外,您还可以自动化本机代码。

      【讨论】:

      • 感谢您的详细回答。还有一件事 - 我正在使用一些混合功能自动化本机应用程序。那么更喜欢哪一个?它对混合组件的行为不端。此外,UI Automator 也没有为 webview 子组件提供太多
      • 我更喜欢使用Androiddriver
      猜你喜欢
      • 2018-02-20
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      • 2016-01-01
      • 1970-01-01
      • 2013-08-07
      • 2011-10-20
      • 2020-01-23
      相关资源
      最近更新 更多