Library version: | 1.3.5 |
---|---|
Library scope: | global |
Named arguments: | supported |
SofrecomAppiumLibrary is a App testing library for Robot Framework.
Locating elements
All keywords in AppiumLibrary that need to find an element on the app take an argument, locator. By default, when a locator value is provided, it is matched against the key attributes of the particular element type. For example, id and name are key attributes to all elements, and locating elements is easy using just the id as a locator. For example:
Click Element my_element
Appium additionally supports some of the Mobile JSON Wire Protocol (https://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile) locator strategies It is also possible to specify the approach AppiumLibrary should take to find an element by specifying a lookup strategy with a locator prefix. Supported strategies are:
Strategy | Example | Description |
identifier | Click Element | identifier=my_element | Matches by @id or @name attribute |
id | Click Element | id=my_element | Matches by @id attribute |
name | Click Element | name=my_element | Matches by @name attribute |
xpath | Click Element | xpath=//UIATableView/UIATableCell/UIAButton | Matches with arbitrary XPath |
class | Click Element | class=UIAPickerWheel | Matches by class |
accessibility_id | Click Element | accessibility_id=t | Accessibility options utilize. |
android | Click Element | android=UiSelector().description('Apps') | Matches by Android UI Automator |
ios | Click Element | ios=.buttons().withName('Apps') | Matches by iOS UI Automation |
css | Click Element | css=.green_button | Matches by css in webview |
Arguments | Documentation | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
timeout=5, run_on_failure=Capture Page Screenshot | AppiumLibrary can be imported with optional arguments. timeout is the default timeout used to wait for all waiting actions. It can be later set with Set Appium Timeout. run_on_failure specifies the name of a keyword (from any available libraries) to execute when a AppiumLibrary keyword fails. By default Capture Page Screenshot will be used to take a screenshot of the current page. Using the value No Operation will disable this feature altogether. See Register Keyword To Run On Failure keyword for more information about this functionality. Examples:
|
Keyword | Arguments | Documentation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Background App | seconds=5 | Puts the application in the background on the device for a certain duration. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Capture Page Screenshot | filename=None | Takes a screenshot of the current page and embeds it into the log. filename argument specifies the name of the file to write the screenshot into. If no filename is given, the screenshot is saved into file appium-screenshot-<counter>.png under the directory where the Robot Framework log file is written into. The filename is also considered relative to the same directory, if it is not given in absolute format. css can be used to modify how the screenshot is taken. By default the bakground color is changed to avoid possible problems with background leaking when the page layout is somehow broken. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Clear Text | locator | Clears the text field identified by locator. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Click A Point | x=0, y=0 | Click on a point | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Click Button | index_or_name | Click button | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Click Element | locator | Click element identified by locator. Key attributes for arbitrary elements are index and name. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Close All Applications | Closes all open applications. This keyword is meant to be used in test or suite teardown to make sure all the applications are closed before the test execution finishes. After this keyword, the application indices returned by Open Application are reset and start from 1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Close Application | Closes the current application. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Element Attribute Should Match | locator, attr_name, match_pattern, regexp=False | Verify that an attribute of an element matches the expected criteria. The element is identified by locator. See introduction for details about locating elements. If more than one element matches, the first element is selected. The attr_name is the name of the attribute within the selected element. The match_pattern is used for the matching, if the match_pattern is
The regexp defines whether the string match is done using regular expressions (i.e. BuiltIn Library's Should Match Regexp or string pattern match (i.e. BuiltIn Library's Should Match) Examples:
1. is a string pattern match i.e. the 'text' attribute should end with the string 'foobar' 2. is a regular expression match i.e. the regexp 'f.*ar' should be within the 'text' attribute 3. is a boolead match i.e. the 'enabled' attribute should be True NOTE: On Android the supported attribute names are hard-coded in the AndroidElement Class's getBoolAttribute() and getStringAttribute() methods. Currently supported (appium v1.4.11): contentDescription, text, className, resourceId, enabled, checkable, checked, clickable, focusable, focused, longClickable, scrollable, selected, displayed NOTE: Some attributes can be evaluated in two different ways e.g. these evaluate the same thing:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Element Name Should Be | locator, expected | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Element Should Be Disabled | locator, loglevel=INFO | Verifies that element identified with locator is disabled. Key attributes for arbitrary elements are id and name. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Element Should Be Enabled | locator, loglevel=INFO | Verifies that element identified with locator is enabled. Key attributes for arbitrary elements are id and name. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Element Value Should Be | locator, expected | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Appium Timeout | Gets the timeout in seconds that is used by various keywords. See Set Appium Timeout for an explanation. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Contexts | Get available contexts. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Current Context | Get current context. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Element Attribute | locator, attribute | Get element attribute using given attribute: name, value,... Examples:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Element Location | locator | Get element location Key attributes for arbitrary elements are id and name. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Element Size | locator | Get element size Key attributes for arbitrary elements are id and name. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Elements | locator, first_element_only=False, fail_on_error=True | Return elements that match the search criteria The element is identified by locator. See introduction for details about locating elements. If the first_element is set to 'True' then only the first matching element is returned. If the fail_on_error is set to 'True' this keyword fails if the search return nothing. Returns a list of WebElement Objects. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Network Connection Status | Returns an integer bitmask specifying the network connection type. Android only. See set network connection status for more details. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Source | Returns the entire source of the current page. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Go Back | Goes one step backward in the browser history. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Go To Url | url | Opens URL in default web browser. Example:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hide Keyboard | key_name=None | Hides the software keyboard on the device. (optional) In iOS, use key_name to press a particular key, ex. Done. In Android, no parameters are used. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Input Password | locator, text | Types the given password into text field identified by locator. Difference between this keyword and Input Text is that this keyword does not log the given password. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Input Text | locator, text | Types the given text into text field identified by locator. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Input Value | locator, text | Sets the given value into text field identified by locator. This is an IOS only keyword, input value makes use of set_value See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Landscape | Set the device orientation to LANDSCAPE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lock | Lock the device | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Log Source | loglevel=INFO | Logs and returns the entire html source of the current page or frame. The loglevel argument defines the used log level. Valid log levels are WARN, INFO (default), DEBUG, TRACE and NONE (no logging). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Long Press | locator | Long press the element | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Long Press Keycode | keycode, metastate=None | Sends a long press of keycode to the device. Android only. See press keycode for more details. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Open Application | remote_url, alias=None, **kwargs | Opens a new application to given Appium server. Capabilities of appium server, Android and iOS, Please check http://appium.io/slate/en/master/?python#appium-server-capabilities
Examples:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Page Should Contain Element | locator, loglevel=INFO | Verifies that current page contains locator element. If this keyword fails, it automatically logs the page source using the log level specified with the optional loglevel argument. Givin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Page Should Contain Text | text, loglevel=INFO | Verifies that current page contains text. If this keyword fails, it automatically logs the page source using the log level specified with the optional loglevel argument. Giving NONE as level disables logging. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Page Should Not Contain Element | locator, loglevel=INFO | Verifies that current page not contains locator element. If this keyword fails, it automatically logs the page source using the log level specified with the optional loglevel argument. Givin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Page Should Not Contain Text | text, loglevel=INFO | Verifies that current page not contains text. If this keyword fails, it automatically logs the page source using the log level specified with the optional loglevel argument. Giving NONE as level disables logging. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pinch | locator, percent=200%, steps=1 | Pinch in on an element a certain amount. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Portrait | Set the device orientation to PORTRAIT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Press Keycode | keycode, metastate=None | Sends a press of keycode to the device. Android only. Possible keycodes & meta states can be found in http://developer.android.com/reference/android/view/KeyEvent.html Meta state describe the pressed state of key modifiers such as Shift, Ctrl & Alt keys. The Meta State is an integer in which each bit set to 1 represents a pressed meta key. For example
metastate=1 --> Shift is pressed metastate=2 --> Alt is pressed metastate=3 --> Shift+Alt is pressed
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pull File | path, decode=False | Retrieves the file at path and return it's content. Android only.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pull Folder | path, decode=False | Retrieves a folder at path. Returns the folder's contents zipped. Android only.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Push File | path, data, encode=False | Puts the data in the file specified as path. Android only.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Register Keyword To Run On Failure | keyword | Sets the keyword to execute when a AppiumLibrary keyword fails. keyword_name is the name of a keyword (from any available libraries) that will be executed if a AppiumLibrary keyword fails. It is not possible to use a keyword that requires arguments. Using the value "Nothing" will disable this feature altogether. The initial keyword to use is set in importing, and the keyword that is used by default is Capture Page Screenshot. Taking a screenshot when something failed is a very useful feature, but notice that it can slow down the execution. This keyword returns the name of the previously registered failure keyword. It can be used to restore the original value later. Example:
This run-on-failure functionality only works when running tests on Python/Jython 2.4 or newer and it does not work on IronPython at all. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remove Application | application_id | Removes the application that is identified with an application id Example:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Reset Application | Reset application | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Scroll | start_locator, end_locator | Scrolls from one element to another Key attributes for arbitrary elements are id and name. See introduction for details about locating elements. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Scroll To | locator | Scrolls to element | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Set Appium Timeout | seconds | Sets the timeout in seconds used by various keywords. There are several Wait ... keywords that take timeout as an argument. All of these timeout arguments are optional. The timeout used by all of them can be set globally using this keyword. The previous timeout value is returned by this keyword and can be used to set the old value back later. The default timeout is 5 seconds, but it can be altered in importing. Example:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Set Network Connection Status | connectionStatus | Sets the network connection Status. Android only. Possible values:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Shake | Shake the device | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Swipe | start_x, start_y, end_x, end_y, duration=1000 | Swipe from one point to another point, for an optional duration. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Switch Application | index_or_alias | Switches the active application by index or alias. index_or_alias is either application index (an integer) or alias (a string). Index is got as the return value of Open Application. This keyword returns the index of the previous active application, which can be used to switch back to that application later. Example:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Switch To Context | context_name | Switch to a new context | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tap | locator | Tap on element | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wait Until Page Contains | text, timeout=None, error=None | Waits until text appears on current page. Fails if timeout expires before the text appears. See introduction for more information about timeout and its default value. error can be used to override the default error message. See also Wait Until Page Does Not Contain, Wait Until Page Contains Element, Wait Until Page Does Not Contain Element and BuiltIn keyword Wait Until Keyword Succeeds. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wait Until Page Contains Element | locator, timeout=None, error=None | Waits until element specified with locator appears on current page. Fails if timeout expires before the element appears. See introduction for more information about timeout and its default value. error can be used to override the default error message. See also Wait Until Page Contains, Wait Until Page Does Not Contain Wait Until Page Does Not Contain Element and BuiltIn keyword Wait Until Keyword Succeeds. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wait Until Page Does Not Contain | text, timeout=None, error=None | Waits until text disappears from current page. Fails if timeout expires before the text disappears. See introduction for more information about timeout and its default value. error can be used to override the default error message. See also Wait Until Page Contains, Wait Until Page Contains Element, Wait Until Page Does Not Contain Element and BuiltIn keyword Wait Until Keyword Succeeds. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wait Until Page Does Not Contain Element | locator, timeout=None, error=None | Waits until element specified with locator disappears from current page. Fails if timeout expires before the element disappears. See introduction for more information about timeout and its default value. error can be used to override the default error message. See also Wait Until Page Contains, Wait Until Page Does Not Contain, Wait Until Page Contains Element and BuiltIn keyword Wait Until Keyword Succeeds. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Zoom | locator, percent=200%, steps=1 | Zooms in on an element a certain amount. |