为了自动化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应用程序我需要使用哪个驱动程序?
答案 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;