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.

Action APIs

AWake Up

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

APress Back Performs a Back action.

Parameters
None
Return Value

Modes Supported :
Raw Script

Sahi Pro Classic API :_aPressBack


APress Recent Apps

APress Recent Apps Brings up the Recent Apps screen.

Parameters
None
Return Value

Modes Supported :
Raw Script

Sahi Pro Classic API :_aPressRecentApps


APress Search

APress Search Brings up the Search box.

Parameters
None
Return Value

Modes Supported :
Raw Script

Sahi Pro Classic API :_aPressSearch


APress Menu

APress Menu Simulates a press on the MENU button.

Parameters
None
Return Value

Modes Supported :
Raw Script

Sahi Pro Classic API :_aPressMenu


APress Enter

APress Enter Simulates a press on the ENTER key.

Parameters
None
Return Value

Modes Supported :
Raw Script

Sahi Pro Classic API :_aPressEnter


APress Delete

APress Delete Simulates a press on the DELETE key.

Parameters
None
Return Value

Modes Supported :
Raw Script

Sahi Pro Classic API :_aPressDelete


Fetch APIs

AIs Screen On

Returns true or false based on screen is ON or OFF.

Parameters
None
Return Value
booleantrue 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.

AEnable Vertical Scroll

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.
  • 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
$elementAndroid Element optional Scrollable element in which subsequent elements will be searched. If not specified, top most scrollable element will be considered.
$maxScrollCountinteger 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


AEnable Horizontal Scroll

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.
  • 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
$elementAndroid Element optional Scrollable element in which subsequent elements will be searched. If not specified, top most scrollable element will be considered.
$maxScrollCountinteger 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


ADisable Scroll

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.
  • 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.

AIs Vertical Scroll Enabled

Returns true if automatic vertical scrolling has been enabled by calling _aEnableVerticalScroll().

Parameters
None
Return Value
booleantrue or false based on vertical scrolling is enabled or not.

Modes Supported :
Raw Script
var $enabled = _aIsVerticalScrollEnabled();

Sahi Pro Classic API :_aIsVerticalScrollEnabled


AIs Horizontal Scroll Enabled

Returns true if automatic horizontal scrolling has been enabled by calling _aEnableHorizontalScroll().

Parameters
None
Return Value
booleantrue or false based on horizontal scrolling is enabled or not.

Modes Supported :
Raw Script
var $enabled = _aIsHorizontalScrollEnabled();

Sahi Pro Classic API :_aIsHorizontalScrollEnabled


AIs Scroll Enabled

Returns true if automatic horizontal or vertical scrolling has been enabled by calling _aEnableVerticalScroll() or _aEnableHorizontalScroll().

Parameters
None
Return Value
booleantrue 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.

AScroll Left Most

Scrolls the element's contents to the leftmost position, i.e. it scrolls horizontally to the beginning. Returns true or false.

Parameters
$elementAndroid Element element to be scrolled
$maxSwipesinteger optionalmaximum 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
booleantrue 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


AScroll Right Most

Scrolls the element's contents to the rightmost position, i.e. it scrolls horizontally to the end. Returns true or false.

Parameters
$elementAndroid Element element to be scrolled
$maxSwipesinteger optionalmaximum 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
booleantrue 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


AScroll Top Most

Scrolls the element's contents to the topmost position, i.e. it scrolls vertically to the beginning. Returns true or false.

Parameters
$elementAndroid Element element to be scrolled
$maxSwipesinteger optionalmaximum 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
booleantrue 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


AScroll Bottom Most

Scrolls the element's contents to the bottommost position, i.e. it scrolls vertically to the end. Returns true or false.

Parameters
$elementAndroid Element element to be scrolled
$maxSwipesinteger optionalmaximum 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
booleantrue 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


AScroll Left

Scrolls the element's contents one page to the left. Returns false if content cannot be scrolled further, true otherwise.

Parameters
$elementAndroid Element element to be scrolled
$percentfloat optionalpercent to scroll the element, If not specified, a value of 1.0 will be used.
$speedinteger optionalspeed to perform scroll, If not specified, default value will be used specific to device.
Return Value
booleantrue 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


AScroll Right

Scrolls the element's contents one page to the right. Returns false if content cannot be scrolled further, true otherwise.

Parameters
$elementAndroid Element element to be scrolled
$percentfloat optionalpercent to scroll the element, If not specified, a value of 1.0 will be used.
$speedinteger optionalspeed to perform scroll, If not specified, default value will be used specific to device.
Return Value
booleantrue 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


AScroll Up

Scrolls the element's contents one page up. Returns false if content cannot be scrolled further, true otherwise.

Parameters
$elementAndroid Element element to be scrolled
$percentfloat optionalpercent to scroll the element, If not specified, a value of 1.0 will be used.
$speedinteger optionalspeed to perform scroll, If not specified, default value will be used specific to device.
Return Value
booleantrue 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


AScroll Down

Scrolls the element's contents one page down. Returns false if content cannot be scrolled further, true otherwise.

Parameters
$elementAndroid Element element to be scrolled
$percentfloat optionalpercent to scroll the element, If not specified, a value of 1.0 will be used.
$speedinteger optionalspeed to perform scroll, If not specified, default value will be used specific to device.
Return Value
booleantrue 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

ASet Swipe Deadzone Percentage

After leaving the dead zone area then it starts swiping.

Parameters
$percentfloat percent to set the deadzone for Swipe gesture.
Return Value

Modes Supported :
Raw Script
_aSetSwipeDeadzonePercentage(0.1);

Sahi Pro Classic API :_aSetSwipeDeadzonePercentage