iOS APIs

This page lists the APIs specific to iOS. These APIs have an _i prefix in camel case, example: _iRotate.

These APIs will work only on an iOS device/simulator.

Action APIs

_iTwoFingerTap

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iTwoFingerTap($element)

Arguments
$elementiOS Element Element to be tapped.

Returns
null

Sahi Pro Flowcharts Action :ITwo Finger Tap

Details

Simulates two finger touches on an element, each with a single tap.
_iTwoFingerTap(_image("abc"));


_iTapWithNumberOfTapsNumberOfTouches

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iTapWithNumberOfTapsNumberOfTouches($element, $taps, $touches)

Arguments
$elementiOS Element element to be tapped
$tapsinteger Number of taps
$touchesinteger Number of touches.

Returns
null

Sahi Pro Flowcharts Action :ITap With Number Of Taps Number Of Touches

Details

Simulates number of finger touches on an element, each with a number of taps. NOTE that the first parameter is for taps and the second is for touches.
_iTapWithNumberOfTapsNumberOfTouches(_iMap(0), 2, 1); // One touch, with two taps. Same as _doubleClick
_iTapWithNumberOfTapsNumberOfTouches(_iMap(0), 1, 2); // Two touches, each with a single tap. Same as _iTwoFingerTap


_iRotate

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iRotate($element, $rotationAngle, $velocity)

Arguments
$elementiOS Element Element to be rotated
$rotationAnglefloat Rotation of the gesture in radians. A positive value indicates a clockwise rotation. A negative value indicates counter clockwise rotation.
$velocityfloat Velocity of the rotation gesture in radians per second. If rotationAngle is negative, then velocity must be negative.

Returns
null

Sahi Pro Flowcharts Action :IRotate

Details

Simulates a rotation gesture on an element.
_iRotate(_iMap(0), Math.PI/4, 0.5); // Clockwise rotation
_iRotate(_iMap(0), -Math.PI/4, -0.5); // Counter-clockwise rotation


_iActivateSiriWithVoiceRecognitionText

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iActivateSiriWithVoiceRecognitionText($text)

Arguments
$textstring Text to be recognized.

Returns
null

Sahi Pro Flowcharts Action :IActivate Siri With Voice Recognition Text

Details

Activates Siri with voice recognition text.
Works only on iOS devices/simulators with iOS version greater than iOS 10.3.
_iActivateSiriWithVoiceRecognitionText("Please set a reminder for my meeting with John");


_iPressVolumeUp

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iPressVolumeUp()

Arguments
None

Returns
null

Sahi Pro Flowcharts Action :IPress Volume Up

Details

Simulates volume up action on an iOS Device.
Works only on an iOS device, and not on an iOS simulator.
_iPressVolumeUp();


_iPressVolumeDown

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iPressVolumeDown()

Arguments
None

Returns
null

Sahi Pro Flowcharts Action :IPress Volume Down

Details

Simulates volume down action on an iOS Device.
Works only on an iOS device, and not on an iOS simulator.
_iPressVolumeDown();


Fetch APIs

_iIsSelected

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iIsSelected($element)

Arguments
$elementiOS Element Element whose isSelected attribute is to be checked.

Returns
booleantrue or false based on whether the element is selected or not.

Sahi Pro Flowcharts Action :IIs Selected

Details

Returns true if the element is selected. Otherwise, returns false.
var $selected = _iIsSelected(_button("radio-button"));


_iIsDevice

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iIsDevice()

Arguments
None

Returns
booleantrue or false based on whether the running platform is an iOS device.

Sahi Pro Flowcharts Action :IIs Device

Details

Returns true if the running platform is an iOS device. Returns false for an iOS simulator.
if (_iIsDevice()) { // Volume down can be simulated only for an iOS device.
	_iPressVolumeDown();
}


_iGetApplicationState

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iGetApplicationState($bundleId)

Arguments
$bundleIdiOS App Bundle Id Bundle id of application whose state is required.Element whose isSelected attribute is to be checked.

Returns
booleanState of application as number.

Sahi Pro Flowcharts Action :IGet Application State

Details

Returns state of application.
var $state = _iGetApplicationState("com.sahipro.ios.test.SahiTestApp");


info _iGetApplicationState returns state of application as follows: 0 - Application state is unknown 1 - Application is not running 2 - Application is suspended 3 - Application is running in background 4 - Application is running in forground


System Dialog APIs

In iOS, system dialogs cannot be automated with regular APIs. For example, one cannot use _click to click on the Allow button in a system dialog.

Refer to Automating System Dialogs for details on how to automate a system dialog.

_iExpectSystemDialog

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iExpectSystemDialog($message, $buttonIdentifier[, $persist])

Arguments
$messagestring Message to expect in dialog. This can also be a regular expression
$buttonIdentifierstring|integer Sahi Identifier for the button. Can also be just an index.
$persistboolean optionalIf true, will accept a single _iExpectSystemDialog statement for all system dialogs coming after the statement. If false, will accept only the next system dialog to work with the _iExpectSystemDialog statement. Default is false.

Returns
null

Sahi Pro Flowcharts Action :IExpect System Dialog

Details

_iExpectSystemDialog tells Sahi to click the button with the given buttonIdentifier, for a dialog with given message.
var $dialogLabelExpected = "/Allow.*Maps.*location/";
var $btnTextToClick = "Allow"; // This will click the "Allow" button

// Set the expected dialog label, and indicate the button to click.
_iExpectSystemDialog($dialogLabelExpected, $btnTextToClick);


_iInteractWithApp

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iInteractWithApp()

Arguments
None

Returns
null

Sahi Pro Flowcharts Action :IInteract With App

Details

For iOS to invoke the system dialog handler, the app has to be interacted with. _iInteractWithApp() does just that.
_iInteractWithApp();


_iLastSystemDialog

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iLastSystemDialog([$alldialogs])

Arguments
$alldialogsboolean optional If true, returns array of all system dialog messages.

Returns
stringlast system dialog message if $alldialogs is false
array of stringsan array of all dialog messages in the browser if $alldialogs is true

Sahi Pro Flowcharts Action :ILast System Dialog

Details

// Return array of all system dialog messages.
var $allMessages = _iLastSystemDialog(true);
// Return only last system dialog message.
var $lastMessage= _iLastSystemDialog();


_iClearLastSystemDialog

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA7.5.0NANA

Available for modes: iOS

_iClearLastSystemDialog()

Arguments
None

Returns
null

Sahi Pro Flowcharts Action :IClear Last System Dialog

Details

Removes the last system dialog message from session so that further occurrence of system dialogs can be checked
_iClearLastSystemDialog();


System Dialog Example

var $dialogLabelExpected = "/Allow.*Maps.*location/";
var $btnTextToClick = "Allow";

// Set the expected dialog label, and indicate the button to click.
_iExpectSystemDialog($dialogLabelExpected, $btnTextToClick);

// Activate the Maps application
_mActivateApplication("com.apple.Maps", true);
// Wait a little while so that the system dialog comes up.
_wait(3000);

// IMPORTANT: Interact with the app. This is what will trigger the dialog handler.
_iInteractWithApp();
// Sahi would click on the Allow button now.

// Get the last dialog label and assert that it is same as expected.
var $dialogLabelActual = _iLastSystemDialog();
_assertEqual($dialogLabelExpected, $dialogLabelActual);


Other APIs

_iSetAutoDismissKeyboard

Since: Sahi ProDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
NANA8.0.0NANA

Available for modes: iOS

_iSetAutoDismissKeyboard($autoDismiss)

Arguments
$autoDismissboolean true or false

Returns
null

Sahi Pro Flowcharts Action :ISet Auto Dismiss Keyboard

Details

By default, Sahi will try to dismiss keyboard automatically after setting value in the textfield. To disable this functionaity set it to false.
Sahi will try to click on the keyboard button provided by ios.keyboard.buttons.autoclick property in SAHI_INSTALL_PATH\config\sahi.properties.