Sahi Documentation

Execute External Programs

abstract Sahi allows calling external programs via _execute or by calling Java directly

_execute

Since: Sahi ProSahi OSSahi Pro StarterDesktop Add-OnMobile Add-OnSAP Add-OnAI Assist Add-On
3.527.0.17.0.07.5.09.0.0NA

Available for modes: Browser | Windows | Java | Android | iOS | SAP | AI Assist

_execute($cmd[, $isSync[, $timeout]])

Arguments
$cmdstring Command to be executed. Normally this will be a command that can be run on the system's commandline
$isSyncboolean optional If true, returns only on completion of cmd. If false, returns immediately while cmd is run in background
$timeoutinteger optional If timeout is specified and if isSync is true, the function will return after timeout milliseconds if cmd has not finished till then. cmd will continue to run in background

Returns
stringcommand output

Details

_execute allows calling batch files, shell scripts or regular commands from Sahi script.
_execute("C:\\sendemail.bat"); // runs C:\sendemail.bat and returns immediately while sendmail runs in the background

_execute("C:\\sendemail.bat", true); // runs C:\sendemail.bat and waits till sendmail finishes

// runs C:\sendemail.bat and returns after 2 seconds if sendmail has not completed by then.
_execute("C:\\sendemail.bat", true, 2000);

// if _execute("C:\\sendemail.bat"); does not work, on Windows, try:
_execute("cmd /C C:\\sendemail.bat");

// On Linux and Mac use forward slashes as filepath separator
// Make sure that the shell script has necessary permissions
_execute("/home/user1/bin/sendemail.sh");
// or
_execute("sh /home/user1/bin/sendemail.sh");
warning Since _execute delegates the command to the operating system's command shell, make sure that you use the correct path separators (backslash \ for windows and / for Linux/Mac) and have the correct permissions.