关于移动应用程序自动化的驱动

时间:2016-08-25 05:27:51

标签: appium appium-ios android-auto

为了自动化Android应用程序我正在使用AppiumDriver

 AppiumDriver driver = new AppiumDriver(new URL("http://localhost:5555/wd/hub"), capabilities);

我在网上找到了使用RemoteWebDriver

 RemoteWebDriver driver = new RemoteWebDriver(new URL("http://localhost:5555/wd/hub"), capabilities);

是否需要使用不同的驱动程序。如果是,对于automationg iOS应用程序我需要使用哪个驱动程序?

1 个答案:

答案 0 :(得分:1)

使用什么驱动程序有多种可能性,区别在于您希望提供多少平台特定功能。

对于Android,最具体的驱动程序是AndroidDriver。 AndroidDriver扩展了AppiumDriver(你现在正在使用的那个),AppiumDriver扩展了RemoteWebDriver。换句话说,RemoteWebDriver具有最少的功能,并且随着驱动程序的进一步发展,会带来更多选择。

Java-client的AndroidDriver: http://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html

在API文档页面中看到的AndroidDriver的继承:

java.lang.Object
  org.openqa.selenium.remote.RemoteWebDriver
    io.appium.java_client.AppiumDriver<T>
      io.appium.java_client.android.AndroidDriver<T>

请注意,AppiumDriver和AndroidDriver包含&lt; T&gt;,它允许您选择您正在使用的MobileElements类型。要访问驱动程序的所有Android特定功能,您可能需要定义&lt; T&gt;到&lt; AndroidElement&gt;: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与&lt; WebElement&gt;一起使用即可。 (默认情况下使用此选项)或&lt; MobileElement&gt;