Android APIs
This page lists the APIs specific to Android. These APIs have an _a prefix in camel case, example: _aPressBack.
These APIs will work only on an Android device/emulator.
These APIs will work only on an Android device/emulator.
Action APIs
AWake Up simulates pressing the power button if the screen is OFF else it does nothing if the screen is already ON.
Parameters
None |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aWakeUp
APress Back Performs a Back action.
Parameters
None |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aPressBack
APress Recent Apps Brings up the Recent Apps screen.
Parameters
None |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aPressRecentApps
APress Search Brings up the Search box.
Parameters
None |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aPressSearch
APress Menu Simulates a press on the MENU button.
Parameters
None |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aPressMenu
APress Enter Simulates a press on the ENTER key.
Parameters
None |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aPressEnter
APress Delete Simulates a press on the DELETE key.
Parameters
None |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aPressDelete
Fetch APIs
Returns true or false based on screen is ON or OFF.
Parameters
None |
Return Value
boolean | true or false based based on screen is ON or OFF. |
Modes Supported :
Raw Script
var $screenOn = _aIsScreenOn();
Sahi Pro Classic API :_aIsScreenOn
Implicit scroll APIs for element identification
In Android, only visible elements can be interacted with. Thus if a scroll view has elements that do not lie on the screen, these elements cannot be interacted with, unless they are scrolled into view. In a scroll view that can contain different numbers of elements at different times, the user will first have to determine how much to scroll. To save the user this trouble, Sahi provides APIs that automatically perform the scrolling to identify the element.info
By default, scrolling is disabled.
Enables automatic vertical scrolling and disables horizontal scrolling for element identification. This affects all subsequent steps in the script. To turn it off, call _aDisableScroll().
Once AEnable Vertical Scroll has been called, an element is identified as follows.
Once AEnable Vertical Scroll has been called, an element is identified as follows.
- When an element is identified, if an _in clause is specified, it will be identified in that container. Else it will be identified in the topmost container.
- If the element is visible on the page, it will be identified.
- Else, if the container is scrollable, it will be scrolled vertically from the beginning till the element is identified. If the end has been reached, it means that the element has not been found.
- Else, if the container is not scrollable but contains a scrollable child container, the child container will be scrolled vertically from the beginning till the element is identified. If the end has been reached, it means that the element has not been found.
info
NOTE: Scrollable element as first parameter is supported from Sahi Pro Mobile Add-On 8.0.0
Parameters
$element | Android Element optional | Scrollable element in which subsequent elements will be searched. If not specified, top most scrollable element will be considered. |
$maxScrollCount | integer optional | Specify maximum scroll count to attempt scrolling to identify an element. If not specified, it will perform the scrolling till the end. |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aEnableVerticalScroll
Enables automatic horizontal scrolling and disables vertical scrolling for element identification. This affects all subsequent steps in the script. To turn it off, call _aDisableScroll().
Once AEnable Horizontal Scroll has been called, an element is identified as follows.
Once AEnable Horizontal Scroll has been called, an element is identified as follows.
- When an element is identified, if an _in clause is specified, it will be identified in that container. Else it will be identified in the topmost container.
- If the element is visible on the page, it will be identified.
- Else, if the container is scrollable, it will be scrolled horizontally from the beginning till the element is identified. If the end has been reached, it means that the element has not been found.
- Else, if the container is not scrollable but contains a scrollable child container, the child container will be scrolled horizontally from the beginning till the element is identified. If the end has been reached, it means that the element has not been found.
info
NOTE: Scrollable element as first parameter is supported from Sahi Pro Mobile Add-On 8.0.0
Parameters
$element | Android Element optional | Scrollable element in which subsequent elements will be searched. If not specified, top most scrollable element will be considered. |
$maxScrollCount | integer optional | Specify maximum scroll count to attempt scrolling to identify an element. If not specified, it will perform the scrolling till the end. |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aEnableHorizontalScroll
Disables automatic horizontal and vertical scrolling for element identification. This affects all subsequent steps in the script.
Once ADisable Scroll has been called, an element is identified as follows.
Once ADisable Scroll has been called, an element is identified as follows.
- When an element is identified, if an _in clause is specified, it will be identified in that container. Else it will be identified in the topmost container.
- If the element is visible on the page, it will be identified. Else it means that the element has not been found.
Parameters
None |
Return Value
Modes Supported :
Raw Script
Sahi Pro Classic API :_aDisableScroll
info
NOTES:
- Use _aEnableVerticalScroll() and _aEnableHorizontalScroll() ONLY when required, as this affects performance. After the step(s) that require scrolling for element identification, disable automatic scrolling by calling _aDisableScroll().
- As mentioned before, automatic scrolling is disabled by default.
Returns true if automatic vertical scrolling has been enabled by calling _aEnableVerticalScroll().
Parameters
None |
Return Value
boolean | true or false based on vertical scrolling is enabled or not. |
Modes Supported :
Raw Script
var $enabled = _aIsVerticalScrollEnabled();
Sahi Pro Classic API :_aIsVerticalScrollEnabled
Returns true if automatic horizontal scrolling has been enabled by calling _aEnableHorizontalScroll().
Parameters
None |
Return Value
boolean | true or false based on horizontal scrolling is enabled or not. |
Modes Supported :
Raw Script
var $enabled = _aIsHorizontalScrollEnabled();
Sahi Pro Classic API :_aIsHorizontalScrollEnabled
Returns true if automatic horizontal or vertical scrolling has been enabled by calling _aEnableVerticalScroll() or _aEnableHorizontalScroll().
Parameters
None |
Return Value
boolean | true or false based on vertical/horizontal scrolling is enabled or not. |
Modes Supported :
Raw Script
var $enabled = _aIsScrollEnabled();
Sahi Pro Classic API :_aIsScrollEnabled
Explicit scroll APIs
info
These APIs should be used in usecases like _count, _collectAttributes, _collect etc.
For element identification, consider using Implicit Scroll APIs instead.
Scrolls the element's contents to the leftmost position, i.e. it scrolls horizontally to the beginning.
Returns true or false.
Parameters
$element | Android Element | element to be scrolled |
$maxSwipes | integer optional | maximum swipes to attempt to scroll to the leftmost position. If not specified, the default max swipes as supported by the device will be used. |
Return Value
boolean | true or false based based whether the element can still scroll. |
Modes Supported :
Raw Script
_aScrollLeftMost(_mScrollView("Test"));
_aScrollLeftMost(_mScrollView("Test"), 5); //this will perform 5 swipes only
Sahi Pro Classic API :_aScrollLeftMost
Scrolls the element's contents to the rightmost position, i.e. it scrolls horizontally to the end.
Returns true or false.
Parameters
$element | Android Element | element to be scrolled |
$maxSwipes | integer optional | maximum swipes to attempt to scroll to the rightmost position. If not specified, the default max swipes as supported by the device will be used. |
Return Value
boolean | true or false based based whether the element can still scroll. |
Modes Supported :
Raw Script
_aScrollRightMost(_mScrollView("Test"));
_aScrollRightMost(_mScrollView("Test"), 5); //this will perform 5 swipes only
Sahi Pro Classic API :_aScrollRightMost
Scrolls the element's contents to the topmost position, i.e. it scrolls vertically to the beginning.
Returns true or false.
Parameters
$element | Android Element | element to be scrolled |
$maxSwipes | integer optional | maximum swipes to attempt to scroll to the topmost position. If not specified, the default max swipes as supported by the device will be used. |
Return Value
boolean | true or false based based whether the element can still scroll. |
Modes Supported :
Raw Script
_aScrollTopMost(_mScrollView("Test"));
_aScrollTopMost(_mScrollView("Test"), 5); //this will perform 5 swipes only
Sahi Pro Classic API :_aScrollTopMost
Scrolls the element's contents to the bottommost position, i.e. it scrolls vertically to the end.
Returns true or false.
Parameters
$element | Android Element | element to be scrolled |
$maxSwipes | integer optional | maximum swipes to attempt to scroll to the bottommost position. If not specified, the default max swipes as supported by the device will be used. |
Return Value
boolean | true or false based based whether the element can still scroll. |
Modes Supported :
Raw Script
_aScrollBottomMost(_mScrollView("Test"));
_aScrollBottomMost(_mScrollView("Test"), 5); //this will perform 5 swipes only
Sahi Pro Classic API :_aScrollBottomMost
Scrolls the element's contents one page to the left.
Returns false if content cannot be scrolled further, true otherwise.
Parameters
$element | Android Element | element to be scrolled |
$percent | float optional | percent to scroll the element, If not specified, a value of 1.0 will be used. |
$speed | integer optional | speed to perform scroll, If not specified, default value will be used specific to device. |
Return Value
boolean | true or false based based whether the element can still scroll. |
Modes Supported :
Raw Script
_aScrollLeft(_mScrollView("Test"));
_aScrollLeft(_mScrollView("Test"), 0.5, 1000);
Sahi Pro Classic API :_aScrollLeft
Scrolls the element's contents one page to the right.
Returns false if content cannot be scrolled further, true otherwise.
Parameters
$element | Android Element | element to be scrolled |
$percent | float optional | percent to scroll the element, If not specified, a value of 1.0 will be used. |
$speed | integer optional | speed to perform scroll, If not specified, default value will be used specific to device. |
Return Value
boolean | true or false based based whether the element can still scroll. |
Modes Supported :
Raw Script
_aScrollRight(_mScrollView("Test"));
_aScrollRight(_mScrollView("Test"), 0.5, 1000);
Sahi Pro Classic API :_aScrollRight
Scrolls the element's contents one page up.
Returns false if content cannot be scrolled further, true otherwise.
Parameters
$element | Android Element | element to be scrolled |
$percent | float optional | percent to scroll the element, If not specified, a value of 1.0 will be used. |
$speed | integer optional | speed to perform scroll, If not specified, default value will be used specific to device. |
Return Value
boolean | true or false based based whether the element can still scroll. |
Modes Supported :
Raw Script
_aScrollUp(_mScrollView("Test"));
_aScrollUp(_mScrollView("Test"), 0.5, 1000);
Sahi Pro Classic API :_aScrollUp
Scrolls the element's contents one page down.
Returns false if content cannot be scrolled further, true otherwise.
Parameters
$element | Android Element | element to be scrolled |
$percent | float optional | percent to scroll the element, If not specified, a value of 1.0 will be used. |
$speed | integer optional | speed to perform scroll, If not specified, default value will be used specific to device. |
Return Value
boolean | true or false based based whether the element can still scroll. |
Modes Supported :
Raw Script
_aScrollDown(_mScrollView("Test"));
_aScrollDown(_mScrollView("Test"), 0.5, 1000);
Sahi Pro Classic API :_aScrollDown
Android WebView APIs
Other APIs
After leaving the dead zone area then it starts swiping.
Parameters
$percent | float | percent to set the deadzone for Swipe gesture. |
Return Value
Modes Supported :
Raw Script
_aSetSwipeDeadzonePercentage(0.1);
Sahi Pro Classic API :_aSetSwipeDeadzonePercentage