09. 11. 2020 Juergen Vigna APM, NetEye

Using Sahi Pro on and with NetEye 4

What is Sahi Pro?

Sahi Pro is a suite of mature, business-ready tools for the automated testing of Web, Web services, Mobile, Windows Desktop, SAP GUI and Java applications. For testing teams who need rapid and reliable automation, Sahi Pro would be the best choice among automation tools.

Integration with NetEye 4

For those who need to make functional web tests for web pages they own, Sahi Pro is the best choice. I integrated Sahi Pro with NetEye 4 using an external NetEye 4 satellite or Windows Sahi Pro Server, although if you want you can also use it directly from your NetEye 4 server or server cluster.

I had the opportunity to install Sahi Pro at a customer site to use for their functional web tests. They run around 500 web tests every 5 Minutes, and currently use 3 Sahi Pro instances to run them all.

How to Install Sahi Pro on a NetEye 4 Server and/or Satellite

First of all, download the latest Sahi Pro package from the download pages at sahipro.com. Install the package using java -jar <package> (following the install wizard) into the /neteye/local/sahipro folder. Afterwards you can use the files published in our NetEye 4 Public Git repo at the link:

https://github.com/zampat/neteye4/tree/master/monitoring/sahipro

Using the plugin script check_sahipro you can now launch web tests you create using Sahi Pro from your NetEye 4 monitoring module. For this you’ll also find an Icinga 2 Director basket file you can import into your Icinga 2 Web Director instance and use directly to create your own Sahi Pro Icinga 2 monitoring services.

How to Use More Than One Sahi Pro Instance for My Testcases

As I said above if you want to execute more than a certain number of testcases in a small period of time, you’ll need more Sahi Pro instances to do so. But how can you execute all these testcases on more than one server in an autonomous way? Starting with NetEye 4.13, the NGinx Server is part of the NetEye 4 Core Packages. With NGinx it is easy to define your own load balanced server bucket to stream Sahi Pro TCP requests to more than one Sahi Pro instance.

You can use a config file similar to this one:

stream {
    upstream sahipro_rest {
        least_conn;
        server server1:9999;
        server server2:9999;
    }
    server {
        listen sahipro.neteyelocal:9998;
        proxy_pass sahipro_rest;
    }
}

After this you can send your requests to NGinx instead of directly to the Sahi Pro server using the host alias sahipro.neteyelocal -> nginx.neteyelocal, and instead of the default port 9999 , usethe one configured in your NGinx stream, such as port 9998 in the example configuration above.

What’s Left to Do?

One more thing I did is to create a dedicated Icinga 2 instance on our NetEye 4 Cluster to schedule the Sahi Pro testcases. As we have so many (>500) we had to be sure that too many don’t run at the same time, and so I decided to use, as already said, a dedicated Icinga 2 instance where I set the MaxConcurrentChecks constant to 120, so that Icinga 2 won’t run more than 120 checks at the same time.

Juergen Vigna

Juergen Vigna

NetEye Solution Architect at Würth Phoenix
I have over 20 years of experience in the IT branch. After first experiences in the field of software development for public transport companies, I finally decided to join the young and growing team of Würth Phoenix. Initially, I was responsible for the internal Linux/Unix infrastructure and the management of CVS software. Afterwards, my main challenge was to establish the meanwhile well-known IT System Management Solution WÜRTHPHOENIX NetEye. As a Product Manager I started building NetEye from scratch, analyzing existing open source models, extending and finally joining them into one single powerful solution. After that, my job turned into a passion: Constant developments, customer installations and support became a matter of personal. Today I use my knowledge as a NetEye Senior Consultant as well as NetEye Solution Architect at Würth Phoenix.

Author

Juergen Vigna

I have over 20 years of experience in the IT branch. After first experiences in the field of software development for public transport companies, I finally decided to join the young and growing team of Würth Phoenix. Initially, I was responsible for the internal Linux/Unix infrastructure and the management of CVS software. Afterwards, my main challenge was to establish the meanwhile well-known IT System Management Solution WÜRTHPHOENIX NetEye. As a Product Manager I started building NetEye from scratch, analyzing existing open source models, extending and finally joining them into one single powerful solution. After that, my job turned into a passion: Constant developments, customer installations and support became a matter of personal. Today I use my knowledge as a NetEye Senior Consultant as well as NetEye Solution Architect at Würth Phoenix.

Leave a Reply

Your email address will not be published. Required fields are marked *

Archive