page hit counter

java based open source framework

Programming is both science and arts.Arts because there are no specific rules on how to write a piece of code.Good or bad, as long as it gets compiled successfully , it will run on the machine.
Having said this , the heart and soul of programming is still based on fundamentals of mathematics.
The quality of code in conjuction with pseudorandomness of computer and humongous data have the ability to create something which is not very far from CHAOS.
With this I will restrict the discussion to the scientific part. ie let's quantify the services, niceties of a computer program in terms of numbers. This is where j-hawk comes to life. The reader may argue the need of it as there are many tools/frameworks available.While there are few which are really good, but they are not free. The open source community provides some really good ready-to-use tools. However their scripting power is not upto mark. There are other frameworks which need some customization to fit into your application's need. This is eventually a cost to the development firms as it requires time and energy of the experienced dexeterous developers. The need of the hour is a framework which can be used as a tool in the development phase itself. This sounds similar to junits. But junit solves only half of the problems it promise to address.
j-Hawk is a Java based open source framework which can be incorporated in your application for performance testing. The idea is you have to define *module and its tasks (means method) inside your application and register the same with j-Hawk. j-Hawk executes the modules and generates a graphical performance report which can be analyzed to find performance bottleneck of your application.
Download j-Hawk      j-Hawk 11.5 Javadoc


Soft82 100% Clean Award For j-Hawk


j-Hawk Download Member Button: 170px wide Member Button: 90px wide

Support This Project

Execute j-Hawk Modules

j-Hawk Property Mode

A property file containing modules
and subtasks has to be defined by
the Developer. The various attributes
of the modules will be duration, think
time, iteration , think time between
iteration. j-Hawk tests the application
as per the configuration set up by the

j-Hawk Script Mode

j-Hawk provides its own scripting
language called $hawk scripting
where the Developer has to write
hawk script hence full flexibility on
how he/she wants to test the

* Modules and its tasks can be designed from your JUnits without much effort and time.

$ Hawk scripting language is designed and developed to make it easier to learn for Developer with prior experience in any procedural language and UNIX Shell scripting.

The following are the files/scripts which are normally need to be edited to change parameters of the j-Hawk. - hawk.conf

Don't change the following properties prior consultation with Dev. = SampleApp

Where the target app's module implementation lies in. = sampleapp.module

where the target app's specific configs ... = sampleapp.module

hawk.IModule.implementor.1 = OddModule
hawk.IModule.implementor.2 = EvenModule
hawk.IModule.implementor.3 = PrimeModule

hawk.IModule.main.module = SameplAppModule

Customize the following properties as per your need.


Duration of hawk in second.




This tool is designed to run using a script what we are currently calling hawk script. The script has to have ".hawk" file exetension. failing to which it will not accept it.

The script interpreter allows the script to be written in a syntax similar to UNIX shell scripting.

An attempt is made to make 'Hawk' script development easier for user having prior knowledge in any popular procedural language (preferably C ) and exposure to shell scripting.

The intention of 'hawk' script is to give QA more power and increased flexibility to slog the application harder and harder.

A sample script that comes with j-hawk is as follows.

function init()

echo "This Script is written by msahu"


function destroy()

echo "Script execution over!!!"


function testNumber()

exec init()

exec EvenModule->CheckEven
exec OddModule->CheckOdd

for (var i=1;i<=4 ; i = i+1)

echo "****************************"

for (var j=1;j<=4;j = j+1)

echo "<<<<<<<<<<<<<<<"
exec PrimeModule->CheckPrime
echo ">>>>>>>>>>>>>>>"

echo "****************************"

exec destroy()


Entry point for the script
function main()

for( var i;i <=5;i=i+1)

exec testNumber()



More Examples


Queries can be sent to