Forbes India Leader Recognition
e.preventDefault(); // Prevent form submission input.blur(); // remove focus input.value = ""; // optional: clear the input

Introduction To Sahi Script

Introduction To Sahi Script

Featured Image

Sahi Scripting Basics

Sahi script is JavaScript based. The parsed sahi script by sahi is fully valid javascript executed by rhino javascript engine. The constructs used in sahi script are given below. The constructs are the same as javascript except the $ used for the variables.

Statements:

Statements are normal lines of code. They end with a semicolon.

Eg:

_click(_link("Login"));

Variable Declaration: 

Syntax:

var $variableName = value;

All variables start with a $. The keyword var is used for local variables.

Comments:

 Syntax1:

// This is a single line comment

Syntax2:

/*

This is a multiline comment.

This has two lines

*/

If Statements:

Syntax:

if (condition) {

// statements

}

Eg:

// Comparing normal values

if ($username == "PartnerUser"){

  _click(_link("Partner Login"));

}

for loops:

 Syntax:

for (var $i=0; $i<$max; $i++){

// statements

}

While loops:

Syntax:

while (condition) {

// statements

}

Structuring Sahi Code

While recording gives us the low level steps to be performed on the browser, code needs to be restructured for better readability and maintainability. This section explains how to structure your code for effective but simple use of Sahi.

Functions:

Functions are the basic building blocks in your automation. Functions are used to club together multiple steps into one logical action.

Functions reduce code duplication and allow easier maintenance of scripts.

Syntax:

function functionName($parameter1, $parameter2) {

// statements

}

Some Basic Data Types and Data Structures

Data Types:

Most interactions with browsers require us to validate either string or integer data. Both these can be stored in regular javascript variables.

Data Structures:

Since we work with web UIs, Sahi’s need for data structures is fairly minimal. The few that are used are:

  • Single Dimensional array:

    var $ar = ["Ram", "Sam", "Jam"];
    var $firstUser = $ar[0]; // returns "Ram"
  • Two dimensional array:

    var $ar2d = [["Ram",18], ["Sam",20], ["Jam",25]];
    var $firstRow = $ar2d[0]; // returns ["Ram",18]
    var $firstUser = $firstRow[0] // returns "Ram"
  • Associative Array:

    var $userInfo = {"name":"Ram", "age":"18"};
    var $userName = $userInfo["name"];
    var $userAge = $userInfo["age"];

Exception handling and Recovery

Try Catch:

For anticipated exceptions, one may use try catch blocks.

Syntax:

try{

// sahi statements

}catch($e){

// Corrective action

// Can print exact source of error in log

// Can throw the same or another exception

}

Corrective Action:

Syntax:

try{

  _click(_link("does not exist"));

}catch($e){

  _log("Exception occured"); // simple logging. no failure

  _click(_link("linkByHtml")); // Corrective action

}

Related Posts

Latest Posts

  • All Posts
  • AI Powered Knowledge
  • ai/ml
  • CEO India Magazine
  • CMMI level 5 Certification
  • e-learning
  • Fintech
  • gaming
  • Generative AI
  • healthcare
  • manufacturing
  • News
  • OTT
  • Portfolio
  • supply chain
  • travel and hospitality
  • Tudip's AI Hackathon
  • Voxlearn Enterprises
    •   Back
    • Android
    • iOS
    • Java
    • PHP
    • MEAN
    • Ruby
    • DotNet
    • IoT
    • Cloud
    • Testing
    • Roku
    • CMS
    • Python
The Future of Workplace Learning: AI-Powered Knowledge on Demand

The Future of Workplace Learning: AI-Powered Knowledge on Demand

June 12, 2026

A few months ago, I was sitting in a meeting with a team lead who looked genuinely frustrated. Not because…

Read More
We Did It Again: Tudip Successfully Renews Its CMMI Level 5 Certification

We Did It Again: Tudip Successfully Renews Its CMMI Level 5 Certification

June 9, 2026

Nobody around here needed a memo to know something worth celebrating had happened. The message from the CMMI Institute said…

Read More
CEO India Magazine Features Dipti Agrawal: The Woman Behind Intelligent Enterprise Solutions

CEO India Magazine Features Dipti Agrawal: The Woman Behind Intelligent Enterprise Solutions

June 9, 2026

There are moments at work that just stop you in your tracks. Not the big quarterly reviews or the product…

Read More

India

Plot No. 11/2, Phase 3, Hinjewadi Rajiv Gandhi Infotech Park, Pune, India – 411057.
info@tudip.com
+91-96-8990-0537

United States

1999 S. Bascom Ave Suite 700, Campbell CA. 95008, USA.
info@tudip.com
+1-408-216-8162

Canada

64 Caracas Road North York, Toronto Ontario M2K 1B1, Canada.
info@tudip.com

Mexico

Calle Amado Nervo #785 Interior B Colonia Ladron De Guevara 44600 Guadalajara, Jalisco, Mexico.
info@tudip.com

Singapore

77 High Street, #10-12B High Street Plaza, Singapore 179433.
info@tudip.com

Colombia

Cra. 9 # 113-53 Of. 1405 Bogotá D.C., Colombia.
info@tudip.com

UAE

Tudip Information Technologies L.L.C Office No 109, ABU HAIL BUILDING 13, Abu Hail, Dubai, UAE.
info@tudip.com

Nigeria

22 Kumasi Crescent, Wuse 2, Abuja, Nigeria.
info@tudip.com