T
- the required type of class which implement WebElement
.
Instances of the defined type will be returned via findElement* and findElements*
Warning (!!!). Allowed types:
WebElement
TouchableElement
RemoteWebElement
MobileElement
and its subclasses that designed
specifically
for each target mobile OS (still Android and iOS)public abstract class AppiumDriver<T extends org.openqa.selenium.WebElement>
extends org.openqa.selenium.remote.RemoteWebDriver
org.openqa.selenium.remote.RemoteWebDriver.RemoteTargetLocator, org.openqa.selenium.remote.RemoteWebDriver.RemoteWebDriverOptions, org.openqa.selenium.remote.RemoteWebDriver.When
org.openqa.selenium.WebDriver.ImeHandler, org.openqa.selenium.WebDriver.Navigation, org.openqa.selenium.WebDriver.Options, org.openqa.selenium.WebDriver.TargetLocator, org.openqa.selenium.WebDriver.Timeouts, org.openqa.selenium.WebDriver.Window
Modifier | Constructor and Description |
---|---|
|
AppiumDriver(AppiumDriverLocalService service,
org.openqa.selenium.Capabilities desiredCapabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
|
AppiumDriver(AppiumDriverLocalService service,
org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory,
org.openqa.selenium.Capabilities desiredCapabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
|
AppiumDriver(AppiumServiceBuilder builder,
org.openqa.selenium.Capabilities desiredCapabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
|
AppiumDriver(AppiumServiceBuilder builder,
org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory,
org.openqa.selenium.Capabilities desiredCapabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
|
AppiumDriver(org.openqa.selenium.Capabilities desiredCapabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
|
AppiumDriver(org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory,
org.openqa.selenium.Capabilities desiredCapabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
protected |
AppiumDriver(org.openqa.selenium.remote.HttpCommandExecutor executor,
org.openqa.selenium.Capabilities capabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
|
AppiumDriver(URL remoteAddress,
org.openqa.selenium.Capabilities desiredCapabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
|
AppiumDriver(URL remoteAddress,
org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory,
org.openqa.selenium.Capabilities desiredCapabilities,
Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz) |
Modifier and Type | Method and Description |
---|---|
void |
closeApp()
Close the app which was provided in the capabilities at session creation.
|
org.openqa.selenium.WebDriver |
context(String name) |
protected void |
doSwipe(int startx,
int starty,
int endx,
int endy,
int duration) |
protected org.openqa.selenium.remote.Response |
execute(String command) |
org.openqa.selenium.remote.Response |
execute(String driverCommand,
Map<String,?> parameters) |
T |
findElement(org.openqa.selenium.By by) |
T |
findElement(String by,
String using) |
T |
findElementByAccessibilityId(String using) |
T |
findElementByClassName(String using) |
T |
findElementByCssSelector(String using) |
T |
findElementById(String id) |
T |
findElementByLinkText(String using) |
T |
findElementByName(String using) |
T |
findElementByPartialLinkText(String using) |
T |
findElementByTagName(String using) |
T |
findElementByXPath(String using) |
List<T> |
findElements(org.openqa.selenium.By by) |
List<T> |
findElements(String by,
String using) |
List<T> |
findElementsByAccessibilityId(String using) |
List<T> |
findElementsByClassName(String using) |
List<T> |
findElementsByCssSelector(String using) |
List<T> |
findElementsById(String id) |
List<T> |
findElementsByLinkText(String using) |
List<T> |
findElementsByName(String using) |
List<T> |
findElementsByPartialLinkText(String using) |
List<T> |
findElementsByTagName(String using) |
List<T> |
findElementsByXPath(String using) |
Map<String,String> |
getAppStringMap()
Get all defined Strings from an app for the default language.
|
Map<String,String> |
getAppStringMap(String language)
Get all defined Strings from an app for the specified language.
|
Map<String,String> |
getAppStringMap(String language,
String stringFile)
Get all defined Strings from an app for the specified language and
strings filename.
|
protected static com.google.common.collect.ImmutableMap<String,Object> |
getCommandImmutableMap(String[] params,
Object[] values) |
protected static com.google.common.collect.ImmutableMap<String,Object> |
getCommandImmutableMap(String param,
Object value) |
String |
getContext() |
Set<String> |
getContextHandles() |
String |
getDeviceTime() |
org.openqa.selenium.remote.ExecuteMethod |
getExecuteMethod() |
org.openqa.selenium.interactions.Mouse |
getMouse()
Deprecated.
|
org.openqa.selenium.ScreenOrientation |
getOrientation() |
URL |
getRemoteAddress() |
com.google.gson.JsonObject |
getSettings()
Get settings stored for this test session It's probably better to use a
convenience function, rather than use this function directly.
|
void |
hideKeyboard()
Hides the keyboard if it is showing.
|
void |
installApp(String appPath)
Install an app on the mobile device.
|
boolean |
isAppInstalled(String bundleId)
Checks if an app is installed on the device.
|
void |
launchApp()
Launch the app which was provided in the capabilities at session creation.
|
org.openqa.selenium.html5.Location |
location() |
void |
performMultiTouchAction(MultiTouchAction multiAction)
Performs multiple TouchAction gestures at the same time, to simulate
multiple fingers/touch inputs.
|
TouchAction |
performTouchAction(TouchAction touchAction)
Performs a chain of touch actions, which together can be considered an
entire gesture.
|
void |
pinch(int x,
int y)
Convenience method for pinching an element on the screen.
|
void |
pinch(org.openqa.selenium.WebElement el)
Convenience method for pinching an element on the screen.
|
byte[] |
pullFile(String remotePath) |
byte[] |
pullFolder(String remotePath)
Pull a folder from the simulator/device.
|
void |
removeApp(String bundleId)
Remove the specified app from the device (uninstall).
|
void |
resetApp()
Reset the currently running app for this session.
|
void |
rotate(org.openqa.selenium.ScreenOrientation orientation) |
void |
runAppInBackground(int seconds)
Runs the current app as a background app for the number of seconds
requested.
|
void |
setLocation(org.openqa.selenium.html5.Location location) |
protected void |
setSetting(AppiumSetting setting,
Object value)
Set a setting for this test session It's probably better to use a
convenience function, rather than use this function directly.
|
protected static org.openqa.selenium.Capabilities |
substituteMobilePlatform(org.openqa.selenium.Capabilities originalCapabilities,
String newPlatform) |
abstract void |
swipe(int startx,
int starty,
int endx,
int endy,
int duration)
Convenience method for swiping across the screen.
|
void |
tap(int fingers,
int x,
int y,
int duration)
Convenience method for tapping a position on the screen.
|
void |
tap(int fingers,
org.openqa.selenium.WebElement element,
int duration)
Convenience method for tapping the center of an element on the screen.
|
void |
zoom(int x,
int y)
Convenience method for "zooming in" on an element on the screen.
|
void |
zoom(org.openqa.selenium.WebElement el)
Convenience method for "zooming in" on an element on the screen.
|
close, executeAsyncScript, executeScript, get, getCapabilities, getCommandExecutor, getCurrentUrl, getElementConverter, getErrorHandler, getFileDetector, getKeyboard, getPageSource, getScreenshotAs, getSessionId, getTitle, getW3CStandardComplianceLevel, getWindowHandle, getWindowHandles, log, manage, navigate, quit, setCommandExecutor, setElementConverter, setErrorHandler, setFileDetector, setFoundBy, setLogLevel, setSessionId, startClient, startSession, startSession, stopClient, switchTo, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
close, get, getCurrentUrl, getPageSource, getTitle, getWindowHandle, getWindowHandles, manage, navigate, quit, switchTo
scrollTo, scrollToExact
protected AppiumDriver(org.openqa.selenium.remote.HttpCommandExecutor executor, org.openqa.selenium.Capabilities capabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
executor
- is an instance of HttpCommandExecutor
or class that extends it. Default commands or another vendor-specific
commands may be specified there.capabilities
- take a look
at Capabilities
converterClazz
- is an instance of a class that extends
JsonToWebElementConverter
. It converts
JSON response to an instance of
WebElement
public AppiumDriver(URL remoteAddress, org.openqa.selenium.Capabilities desiredCapabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
public AppiumDriver(URL remoteAddress, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities desiredCapabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
public AppiumDriver(AppiumDriverLocalService service, org.openqa.selenium.Capabilities desiredCapabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
public AppiumDriver(AppiumDriverLocalService service, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities desiredCapabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
public AppiumDriver(AppiumServiceBuilder builder, org.openqa.selenium.Capabilities desiredCapabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
public AppiumDriver(AppiumServiceBuilder builder, org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities desiredCapabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
public AppiumDriver(org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, org.openqa.selenium.Capabilities desiredCapabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
public AppiumDriver(org.openqa.selenium.Capabilities desiredCapabilities, Class<? extends org.openqa.selenium.remote.internal.JsonToWebElementConverter> converterClazz)
protected static org.openqa.selenium.Capabilities substituteMobilePlatform(org.openqa.selenium.Capabilities originalCapabilities, String newPlatform)
originalCapabilities
- the given Capabilities
.newPlatform
- a MobileCapabilityType.PLATFORM_NAME
value which has
to be set upCapabilities
with changed mobile platform valueprotected static com.google.common.collect.ImmutableMap<String,Object> getCommandImmutableMap(String param, Object value)
param
- is a parameter name.value
- is the parameter value.ImmutableMap
.protected static com.google.common.collect.ImmutableMap<String,Object> getCommandImmutableMap(String[] params, Object[] values)
params
- is the array with parameter names.values
- is the array with parameter values.ImmutableMap
.public List<T> findElements(org.openqa.selenium.By by)
findElements
in interface GenericSearchContext<T extends org.openqa.selenium.WebElement>
findElements
in interface org.openqa.selenium.SearchContext
findElements
in interface org.openqa.selenium.WebDriver
public List<T> findElementsById(String id)
findElementsById
in interface GenericFindsById<T extends org.openqa.selenium.WebElement>
findElementsById
in interface org.openqa.selenium.internal.FindsById
public List<T> findElementsByLinkText(String using)
findElementsByLinkText
in interface GenericFindsByLinkText<T extends org.openqa.selenium.WebElement>
findElementsByLinkText
in interface org.openqa.selenium.internal.FindsByLinkText
public List<T> findElementsByPartialLinkText(String using)
findElementsByPartialLinkText
in interface GenericFindsByLinkText<T extends org.openqa.selenium.WebElement>
findElementsByPartialLinkText
in interface org.openqa.selenium.internal.FindsByLinkText
public List<T> findElementsByTagName(String using)
findElementsByTagName
in interface GenericFindsByTagName<T extends org.openqa.selenium.WebElement>
findElementsByTagName
in interface org.openqa.selenium.internal.FindsByTagName
public List<T> findElementsByName(String using)
findElementsByName
in interface GenericFindsByName<T extends org.openqa.selenium.WebElement>
findElementsByName
in interface org.openqa.selenium.internal.FindsByName
public List<T> findElementsByClassName(String using)
findElementsByClassName
in interface GenericFindsByClassName<T extends org.openqa.selenium.WebElement>
findElementsByClassName
in interface org.openqa.selenium.internal.FindsByClassName
public List<T> findElementsByCssSelector(String using)
findElementsByCssSelector
in interface GenericFindsByCssSelector<T extends org.openqa.selenium.WebElement>
findElementsByCssSelector
in interface org.openqa.selenium.internal.FindsByCssSelector
public List<T> findElementsByXPath(String using)
findElementsByXPath
in interface GenericFindsByXPath<T extends org.openqa.selenium.WebElement>
findElementsByXPath
in interface org.openqa.selenium.internal.FindsByXPath
public List<T> findElementsByAccessibilityId(String using)
findElementsByAccessibilityId
in interface FindsByAccessibilityId<org.openqa.selenium.WebElement>
protected org.openqa.selenium.remote.Response execute(String command)
execute
in class org.openqa.selenium.remote.RemoteWebDriver
public org.openqa.selenium.remote.ExecuteMethod getExecuteMethod()
getExecuteMethod
in class org.openqa.selenium.remote.RemoteWebDriver
public void resetApp()
InteractsWithApps
InteractsWithApps.resetApp().
public boolean isAppInstalled(String bundleId)
InteractsWithApps
bundleId
- bundleId of the app.InteractsWithApps.isAppInstalled(String).
public void installApp(String appPath)
InteractsWithApps
appPath
- path to app to install.InteractsWithApps.installApp(String).
public void removeApp(String bundleId)
InteractsWithApps
bundleId
- the bunble identifier (or app id) of the app to remove.InteractsWithApps.removeApp(String).
public void launchApp()
InteractsWithApps
InteractsWithApps.launchApp().
public void closeApp()
InteractsWithApps
InteractsWithApps.closeApp().
public void runAppInBackground(int seconds)
InteractsWithApps
seconds
- Number of seconds to run App in background.InteractsWithApps.runAppInBackground(int).
public String getDeviceTime()
public void hideKeyboard()
DeviceActionShortcuts
public byte[] pullFile(String remotePath)
remotePath
- On Android and iOS, this is either the path to the file
(relative to the root of the app's file system). On iOS only,
if path starts with /AppName.app, which will be replaced with
the application's .app directoryInteractsWithFiles.pullFile(String).
public byte[] pullFolder(String remotePath)
InteractsWithFiles
remotePath
- On Android and iOS, this is either the path to the file
(relative to the root of the app's file system). On iOS only,
if path starts with /AppName.app, which will be replaced with
the application's .app directoryInteractsWithFiles.pullFolder(String).
public TouchAction performTouchAction(TouchAction touchAction)
PerformsTouchActions
touchAction
- A TouchAction object, which contains a list of individual
touch actions to performPerformsTouchActions.performTouchAction(TouchAction).
public void performMultiTouchAction(MultiTouchAction multiAction)
PerformsTouchActions
multiAction
- the MultiTouchAction object to perform.PerformsTouchActions.performMultiTouchAction(MultiTouchAction).
public void tap(int fingers, org.openqa.selenium.WebElement element, int duration)
TouchShortcuts
fingers
- number of fingers/appendages to tap with.element
- element to tap.duration
- how long between pressing down, and lifting fingers/appendages.TouchShortcuts.tap(int, WebElement, int).
public void tap(int fingers, int x, int y, int duration)
TouchShortcuts
fingers
- number of fingers/appendages to tap with.x
- x coordinate.y
- y coordinate.duration
- how long between pressing down, and lifting fingers/appendages.TouchShortcuts.tap(int, int, int, int).
protected void doSwipe(int startx, int starty, int endx, int endy, int duration)
public abstract void swipe(int startx, int starty, int endx, int endy, int duration)
TouchShortcuts
startx
- starting x coordinate.starty
- starting y coordinate.endx
- ending x coordinate.endy
- ending y coordinate.duration
- amount of time in milliseconds for the entire swipe action to takeTouchShortcuts.swipe(int, int, int, int, int).
public void pinch(org.openqa.selenium.WebElement el)
el
- The element to pinch.public void pinch(int x, int y)
x
- x coordinate to terminate the pinch on.y
- y coordinate to terminate the pinch on.public void zoom(org.openqa.selenium.WebElement el)
el
- The element to pinch.public void zoom(int x, int y)
x
- x coordinate to start zoom on.y
- y coordinate to start zoom on.public com.google.gson.JsonObject getSettings()
protected void setSetting(AppiumSetting setting, Object value)
setting
- AppiumSetting you wish to set.value
- value of the setting.public org.openqa.selenium.WebDriver context(String name)
public String getContext()
public void rotate(org.openqa.selenium.ScreenOrientation orientation)
public org.openqa.selenium.ScreenOrientation getOrientation()
public org.openqa.selenium.html5.Location location()
public void setLocation(org.openqa.selenium.html5.Location location)
public Map<String,String> getAppStringMap()
HasAppStrings
HasAppStrings.getAppStringMap().
public Map<String,String> getAppStringMap(String language)
HasAppStrings
language
- strings language code.HasAppStrings.getAppStringMap(String).
public Map<String,String> getAppStringMap(String language, String stringFile)
HasAppStrings
language
- strings language code.stringFile
- strings filename.HasAppStrings.getAppStringMap(String, String).
public URL getRemoteAddress()
public org.openqa.selenium.remote.Response execute(String driverCommand, Map<String,?> parameters)
execute
in interface MobileDriver
execute
in class org.openqa.selenium.remote.RemoteWebDriver
public T findElement(org.openqa.selenium.By by)
findElement
in interface GenericSearchContext<T extends org.openqa.selenium.WebElement>
findElement
in interface org.openqa.selenium.SearchContext
findElement
in interface org.openqa.selenium.WebDriver
findElement
in class org.openqa.selenium.remote.RemoteWebDriver
public T findElement(String by, String using)
findElement
in class org.openqa.selenium.remote.RemoteWebDriver
public T findElementById(String id)
findElementById
in interface GenericFindsById<T extends org.openqa.selenium.WebElement>
findElementById
in interface org.openqa.selenium.internal.FindsById
findElementById
in class org.openqa.selenium.remote.RemoteWebDriver
public T findElementByLinkText(String using) throws org.openqa.selenium.WebDriverException
findElementByLinkText
in interface GenericFindsByLinkText<T extends org.openqa.selenium.WebElement>
findElementByLinkText
in interface org.openqa.selenium.internal.FindsByLinkText
findElementByLinkText
in class org.openqa.selenium.remote.RemoteWebDriver
org.openqa.selenium.WebDriverException
- his method doesn't work against native app UI.public T findElementByPartialLinkText(String using) throws org.openqa.selenium.WebDriverException
findElementByPartialLinkText
in interface GenericFindsByLinkText<T extends org.openqa.selenium.WebElement>
findElementByPartialLinkText
in interface org.openqa.selenium.internal.FindsByLinkText
findElementByPartialLinkText
in class org.openqa.selenium.remote.RemoteWebDriver
org.openqa.selenium.WebDriverException
- his method doesn't work against native app UI.public T findElementByTagName(String using)
findElementByTagName
in interface GenericFindsByTagName<T extends org.openqa.selenium.WebElement>
findElementByTagName
in interface org.openqa.selenium.internal.FindsByTagName
findElementByTagName
in class org.openqa.selenium.remote.RemoteWebDriver
public T findElementByName(String using)
findElementByName
in interface GenericFindsByName<T extends org.openqa.selenium.WebElement>
findElementByName
in interface org.openqa.selenium.internal.FindsByName
findElementByName
in class org.openqa.selenium.remote.RemoteWebDriver
public T findElementByClassName(String using)
findElementByClassName
in interface GenericFindsByClassName<T extends org.openqa.selenium.WebElement>
findElementByClassName
in interface org.openqa.selenium.internal.FindsByClassName
findElementByClassName
in class org.openqa.selenium.remote.RemoteWebDriver
public T findElementByCssSelector(String using) throws org.openqa.selenium.WebDriverException
findElementByCssSelector
in interface GenericFindsByCssSelector<T extends org.openqa.selenium.WebElement>
findElementByCssSelector
in interface org.openqa.selenium.internal.FindsByCssSelector
findElementByCssSelector
in class org.openqa.selenium.remote.RemoteWebDriver
org.openqa.selenium.WebDriverException
- his method doesn't work against native app UI.public T findElementByXPath(String using)
findElementByXPath
in interface GenericFindsByXPath<T extends org.openqa.selenium.WebElement>
findElementByXPath
in interface org.openqa.selenium.internal.FindsByXPath
findElementByXPath
in class org.openqa.selenium.remote.RemoteWebDriver
public T findElementByAccessibilityId(String using) throws org.openqa.selenium.WebDriverException
findElementByAccessibilityId
in interface FindsByAccessibilityId<org.openqa.selenium.WebElement>
org.openqa.selenium.WebDriverException
- This method is not applicable with browser/webview UI.@Deprecated public org.openqa.selenium.interactions.Mouse getMouse()
getMouse
in interface org.openqa.selenium.interactions.HasInputDevices
getMouse
in class org.openqa.selenium.remote.RemoteWebDriver
Copyright © 2016. All rights reserved.