Latest Updates. News. Insights. Ideas.

May 2016 - Sahi Pro

Interview with Sahi Pro – The Tester’s Web Automation Tool

Posted by | Sahi, web automation | No Comments

I am Ajay Balamurugadas and I welcome you to our weekly show where we interview one of the promising leaders of the industry. It gives me immense pleasure to introduce today’s guest. He has been a consistent performer in web automation and built a strong hold in a very competitive market. When everyone built the automation frameworks, he focused on what is important – automating the checks. His unique philosophy of helping the tester makes his tagline – “The Tester’s Web Automation Tool” the Sahi (correct) tagline for him.

Without further ado, let us welcome –
Sahi Pro: The Tester’s Web Automation Tool

Ajay(A): Hello, Sahi Pro. Welcome to the show. We are very excited that you are here today to interact with us and share your expertise. You are one of the few automation tools who is tester-friendly and gets the job done in a simple manner. Tell us about yourself and your journey.
Sahi Pro(SP): Thank you, Ajay. It is my pleasure. I started as an open source product and then due to customer commitments, I started to focus on my Pro version and fulfill customer expectations. I noticed excellent testers struggling to automate due to complex automation tools. So, I evolved to enable subject matter experts and testers to get into automation easily.

A: Yes, that is indeed strange. When everyone around you focuses on building a robust framework and turning testers to coders, you have taken a different route altogether…
S: I will not say that we have a taken a different route for the sake of being different. My thought process is continuously evolving based on the testing industry and trends. I quickly realized that most of the end users were expected to be technical programmers or automation engineers. They were expected to build a framework from scratch, get the developers write code to align with the element identification mechanism and after all this, focus on automating the checks.

I found it quite disturbing. The purpose of web automation is to automate the checks, give the testing team the confidence that the regression bugs they expected to find are not present. The tool should free up the tester’s time. Testers should explore the application and find more critical bugs. I don’t expect my users to be technically super-strong. I take care of everything to help the tester, right from identifying the elements, suggesting accessor alternatives, providing relational APIs, excellent logging and reporting, calling Java functions and libraries from my script, automatic screenshots on failure and believe it or not, I automatically wait for page loads and AJAX activities to end!!!

A: Whoa! That’s quite a big list of key differentiators! Tell us about your element identification mechanism.
S: I use my own wrappers around the Javascript DOM to identify elements. My APIs use various DOM attributes of an element to identify them. Instead of relying on a single attribute, I look for the element’s value, name, id, css class or index etc. So, I work well even if multiple elements have the same attribute value. If I am unsure about a particular element’s identification, I rely on my trusted advisor – the Relational APIs to identify one element with respect to another.

A: Many testers want to learn automation and give up as soon as they face problems in learning a particular language. What is you suggestion to them?
S: Yes, that is a common story. People are spending time learning the language more than automating the tests. I am not against anyone learning a language but let us remember why we started this discussion. A tool should enable people to automate and not set restrictions on the way. I am an extension of JavaScript and have a pretty good recorder which can create scripts for further usage. If you have never used any tool for automation, try me!!! If you already burnt your hands spending a lot of time learning a language with little success, let us pair together and see if I can help achieve your goals.

A: Are you only for newbies or can experienced folks take advantage of your prowess?
S: As I have already highlighted, my recorded scripts can be used as a good starting point for further scripting. My JavaScript is executed in a Rhino JavaScript Interpreter, running inside my proxy. As Rhino is a JavaScript runtime running inside a Java Virtual Machine (JVM), this adds a lot of power to my scripts. My scripts can directly call Java code in scripts.

A: I am sure, our readers are excited to try you and your APIs. Does anyone provide training or demo about you?
S: The folks at Tyto Software Pvt. Ltd seem to be quite helpful in this regard. Shoot an email to info[at]sahipro[dot]com or check out the documentation about me at
I also meet my friends every Thursday in a webinar at

A: Thank you for your time, Sahi Pro. We wish you all the best for your future releases and features.
S: My pleasure. All the best for your series too.

Feel free to add your questions as comments and we will get Sahi Pro to answer for you.

Five salient features of Sahi Pro that may surprise you!!!

Posted by | features, Sahi, web automation | No Comments

I have been using Sahi Pro for some time and each time I face an issue, the Sahi Documentation has been of great help to me. Apart from the documentation, one would also appreciate the number of example scripts bundled with the product. After testing Sahi Pro on a variety of applications, I could not hold myself from highlighting  few salient features of Sahi Pro that may surprise you.

Automatically waits for AJAX and page loads

The first tool I used to automate my tasks was AutoIt and I had to add lots of Sleep(5000) or WinWaitActive ( “Create a New Post”, “” , 10 ). A quarter of my code had these Sleep commands. I had realized that these commands were very powerful essential to ensure that my scripts did not fail during the demo. Then I shifted to Selenium and things were no different. My friends who used Selenium in their day to day work had explicit code for wait.

And when I started using Sahi Pro, I was surprised at how Sahi Pro automatically waits for all the AJAX activities to finish and waits till the page loads completely. I did not have to add even a single line for wait. Isn’t it surprising? What surprised me more was that it was NOT necessary to have the browser in focus.

Record in one language and playback in another language

Do you know the average number of languages the top 25 websites support? As per the Web Globalization Report Card 2015, the number is 45. Very soon, you will have your web application support multiple languages. It is quite easy to automate for English language but your customers are from different countries and use other languages.
What would be the cost of automating across languages? Think in terms of the language experts, the automation engineer effort and the confidence you get with such an exercise. Just when we thought that it would be a costly exercise, Sahi Pro comes to the rescue with the API named _setLanguage
More details about the API here.

In-built reporting system and automatic screenshots on failures/errors

It is no wonder that people love reports. Even if someone is not willing to get technical about what’s happening in the code, they want the high level reports. How the product is performing over a period of time? How are we on the automation front? When was the last time the automation suite passed without any failures?
Creating an automation suite is itself a challenging task and to build a custom reporting module is no mean feat. Sahi Pro’s reporting module is amazing and will surprise you with the clarity of reports.And every time the script fails, Sahi Pro will automatically capture a screenshot. One need not add explicit code to take screenshots.

Excel framework – Faster collaboration between domain experts and automation engineers

Sometimes, it is easier to automate scenarios than to convince people of the value of automation, done right. People resist change and fear if their jobs will be replaced by automation. Domain experts are not willing to accept that they are not strong in programming skills and automation engineers are not sure if they are automating the right stuff.

Imagine a platform for the domain expert to provide their views and the automation engineers use the input to translate it to code. Sahi Pro’s Excel Framework aims to be the platform. The domain experts need not know how the code is implemented. The intent and the implementation is clearly separated in the framework.

Call Java libraries and APIs from Sahi Script

Sahi’s Javascript is executed in a Rhino Javascript Interpreter, running inside Sahi’s proxy. Only relevant individual statements are sent to the browser for execution. The rest of the runtime happens in Rhino inside Sahi’s proxy.
Rhino is a Javascript runtime running inside a Java Virtual Machine (JVM). This adds a lot of power to Sahi scripts. Sahi scripts can directly call Java code in scripts.

Isn’t it wonderful that you can leverage the power of Java libraries and APIs directly from your Sahi Script? Add to it, the power of Relational APIs like _near, _rightOf, _under and you will be surprised at how easy it is to use Sahi.

Have you used Sahi Pro? Which features are your favorite? I have listed my favorite five. Let me know your favorite ones in the comments.

If you are new to Sahi Pro, check out the weekly webinar at

Five reasons why Sahi Pro is not for you

Posted by | Sahi | No Comments

Sahi Pro is NOT the Sahi Choice, Baby !!!

Everywhere you see, people sell you something or the other. Someone asks you to buy food from their app, someone asks you to book flight tickets while someone else is ready to help you find the right job for you. We are surrounded by products and services. Consider the field of web automation and there are at least ten products you can name right now. Are they worth the hype? That’s a different story for another day. Today, I want to highlight why Sahi Pro is not the right choice for you.  Yes, you read it right! Why Sahi Pro is not the right choice for you!!! I will give you five reasons and you can let me know which one is true in your case.

Reason 1: Already Budgeted and Approved.

You planned for the automation in your testing strategy. You finally got the plan approved by your manager. The budget for the automation team was approved. Your whole plan is ready and you love playing with XPaths.  After so many days, if you go for Sahi Pro now, all your plans will go haywire. You don’t want to risk that danger. You don’t have the courage to accept the change in plan to your manager. If this is the case, I promise you Sahi Pro is not the right choice for you. As Sahi Pro doesn’t rely on XPaths, it will expose your poor planning. So, don’t go with Sahi Pro and continue playing with XPaths and the game of thrones identifying elements.

Reason 2: Automation Engineers will lose their jobs.

You are proud of your strong team of automation engineers. You did not make the mistake of hiring a tester and turning them into bad programmers. You hired quality automation engineers and that masterstroke is still praised by many. Any requirement for automation and your engineers love it. They jump on it and finish it to everyone’s satisfaction. Everyone knows that you don’t really need specific automation experience to get started with Sahi Pro. The moment you get your hands on Sahi Pro, you will have to bid goodbye to your team members. You will be asked questions like “Why did we not use Sahi Pro till now?”, “If we don’t need automation engineers from today, why did we have them till yesterday”. Many more such tough questions would be fired to you and you will have to deal with them. The easiest way to avoid such questions is to continue the existing plan, team and forget about Sahi Pro.

Reason 3: Testers favorite and no more regression testing.

Many test leads are afraid of regression bugs (bugs found during regression testing). They delay the new feature development and focus on regression testing for many days/weeks to avoid such bugs. As of today, you ask your testers to focus on ensuring that nothing breaks due to new code/fixes. The day you get Sahi Pro, testers will love it and focus on Sahi Pro to automate the regression scenarios. Their focus will now shift to finding new bugs and take up the investigative role rather than confirming that old things continue to work.

Isn’t that a big risk you will take? More bugs would mean delayed releases and what will happen to your reputation then? Who will protect it? Better ignore Sahi Pro and let the new bugs lay hidden in the code.

Reason 4: You are too organised to like Sahi Pro.

Like every other company, you proudly advertise that your product works on almost any web browser. As you are too organised in your professional life, you love to maintain scripts for each browser separately in a separate folder. You don’t believe in the concept of one script that runs on multiple browsers. It looks like a big joke to you. Alas, Sahi Pro has the feature of One Script – Run on Multiple Browsers and hence, it fails to impress you.

Accept our sincere apologies and continue to write individual scripts to suit each browser. The last time we contacted Sahi Pro, they were not ready to remove that feature.

Reason 5: You refuse to acknowledge ‘Sunk Cost Fallacy’.

You spent money hiring a team, building an automation framework, buying an expensive tool and trying to change everything under your control to make the automation a huge success. A small change in the application is making your team put in extra hours. Everyone is able to see that it is more costly to maintain the automation scripts compared to the value by running them. Yet, you have taken it to your heart and refuse to acknowledge the ‘Sunk Cost Fallacy’.

Like many of us, you repeat this to yourself multiple times:
“We have invested so much money in it. If we stop now it will all have been for nothing.”
You are right. There is nothing called Sunk Cost. You carry on with the existing tool till you leave the job. Sahi Pro will ensure that you get out of the fallacy, which is dangerous.

Many folks have one or the other reasons not to use Sahi Pro. What about you? 

Sahi Pro helps

  • identify elements easily
  • by making life of automation engineers and testers better
  • testers to find new bugs
  • by making a single script run on multiple browsers
  • you get out of the trap and actually save money and time.

    We are just an email away: info[at]

Feel free to approach us. We love solving authentic problems. There is a weekly webinar that talks about Sahi Pro every Thursday 8.30pm to 9.30pm IST. Do attend and pass this information to anyone who would be interested.


Use fully-loaded Sahi Pro FREE for a month. Download Now Request a Demo