我应该使用哪种驱动程序来进行鸦片测试

时间:2019-02-06 09:59:45

标签: android automation appium appium-android

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

方法1

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

方法2

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

如果我用硒创建驱动程序,我将使用以下语法,这是在为测试脚本创建驱动程序时使用的可接受方法

WebDriver driver = new ChromeDriver();

如果有人能解释为什么在Appium中创建驱动程序时,不同的人使用不同的方法代替,这是最好的方法,那么这是使用Java为android自动化脚本创建驱动程序的最佳方法。

2 个答案:

答案 0 :(得分:0)

这与class inheritance有关。

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

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

如果确定您只从事Android工作,则AndroidDriver的基本驱动程序将是最简洁的。您只需定义一次即可设置。

如果您也要使iOS正常工作,则希望您的基本驱动程序为AppiumDriver,以便您可以在以后的代码中构建iOS或AndroidDrivers。

如果您需要做一些网络工作,则希望您的基本驱动程序成为WebDriver,以便可以为所有三个平台构建驱动程序。

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

答案 1 :(得分:-1)

按照我的观点,这很方便,但是参数几乎所有相同且只有一个改变

4.1

我在测试脚本中使用了