Squish Tutorial Part 2 – Setting up and understanding Architecture

Assuming you have a valid Squish license, and there is an application you want to automate, lets start our Squish journey.

The first thing that needs to be done is to install Squish on your machine. A prerequisite for installing Squish is that you should have Java JDK on your machine. After you are done installing JDK from Oracle’s web site, you need to download the specific squish package needed for testing your application.

Every Squish package name is of the form squish-<squishVersion>-toolkit<toolkitVersion>-<platform>-<compiler>. Example squish-6.1.0-qt47x-linux64.exe. More info available at the official documentation page.

After installing Java as well as the desired Squish package, you are ready to Rock!

The bin folder in the Squish directory contains the squishide executable which launches the IDE. Before exploring the features of the IDE, lets understand the architecture of Squish.

There are primarily 3 components of Squish:-

  1. Squish IDE – Gives a graphical interface for ease of development as well as execution
  2. Runner – Used to Execute or Record Test cases
  3. Server – Handles the communications between the runner and the application

When operations are performed from the IDE, they are in the backend calling the Runner and Server only and this implies that both the runner and server can be executed without the IDE also(i.e. from the command line). For learning purposes, its best to use the IDE for now.

Lets make it more clear with the following diagram from the documentation:-

The division in the diagram shows that the green and the blue regions can be on different machines also. For the sake of simplicity, lets assume they are on a single machine for now. The flow of the automation goes something like this:-

  1. The Squish IDE helps us create the Test Script
  2. The Squish Runner reads commands from the script and sends them to the server which is listening for the commands.
  3. The Squish Server interacts with the Application under Test through the hook it injects during launching the application
  4. After the server executes a command on the Application, it communicates the result to the runner which in effect reflects in our IDE.

Questions ? Feel free to comment.

Get to know the IDE in Part 3 of the tutorial

Happy Automating!

Harshit Kohli


1 reply »

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s