【问题标题】:What kind of driver should I use for appium test scrips我应该为 appium 测试脚本使用什么样的驱动程序
【发布时间】:2019-06-30 05:46:45
【问题描述】:

我最近开始学习 appium,我创建了一些基本测试来启动应用程序,在创建测试脚本之前我参考了很多指南和教程。 我注意到不同的人使用不同的方法来创建驱动程序。 我尝试使用我在下面提到的 3 种方法,并且所有 3 种方法都有效。 我真的很困惑将来在编写测试脚本时应该使用哪种方法,还有其他方法可以创建驱动程序。

方法一

AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

方法二

WebDriver driver = new RemoteWebDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

方法3

AndroidDriver<AndroidElement> driver = new AndroidDriver<AndroidElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

这里是我用来创建测试脚本和描述可用的不同类型驱动程序的一些指南

http://www.automationtestinghub.com/first-appium-test-script/

https://discuss.appium.io/t/what-is-the-use-or-difference-between-androiddriver-iosdriver-appiumdriver-and-remote-webdriver/8750/2

如果我在 selenium 中创建驱动程序,我将使用以下语法,这是为测试脚本创建驱动程序时使用的公认方法

WebDriver driver = new ChromeDriver();

如果有人能解释为什么不同的人在 Appium 中创建驱动程序时使用不同的方法而不是使用不同的方法,以及使用 java 为 android 自动化脚本创建驱动程序的最佳方法,那就太好了。

【问题讨论】:

    标签: android automation appium appium-android


    【解决方案1】:

    根据我的观点,这很方便,但参数几乎都是一个且相同的唯一变化

    var driver = new AndroidDriver<AndroidElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
    

    我在我的测试脚本中使用了这个

    【讨论】:

      【解决方案2】:

      这一切都与class inheritance有关。

      WebDriver 是 AppiumDriver 的父级,是 AndroidDriver 的父级。

      每个子代都有比其父代越来越多的特定代码,但也包括其父代的所有代码,因此最终您希望构建与您想要获取与它们相关联的特定代码的确切类型的驱动程序。

      如果您确定您只是在做 Android 工作,那么 AndroidDriver 的基本驱动程序将是最简洁的。您只需定义一次即可。

      如果你也打算做 iOS 工作,你会希望你的基础驱动程序是一个 AppiumDriver,这样你就可以在以后的代码中构建 iOS 或 AndroidDriver。

      如果您可能需要做一些网络工作,您会希望您的基础驱动程序是一个 WebDriver,这样您就可以为所有三个平台构建驱动程序。

      There is a good explanation of this at the main Appium forum.

      【讨论】:

        猜你喜欢
        • 2015-11-19
        • 1970-01-01
        • 2013-11-19
        • 2010-09-05
        • 1970-01-01
        • 2021-01-08
        • 2020-04-27
        • 1970-01-01
        • 2021-04-27
        相关资源
        最近更新 更多