j-Hawk

java based open source framework

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 10.08 Javadoc

 

Soft82 100% Clean Award For j-Hawk

 

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
Developer.

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
application.

* 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.

hawk.target.application = SampleApp

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

where the target app's specific configs ...
hawk.target.application.module.config.package = 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.

hawk.SampleApp.OddModule.sequence=1
hawk.SampleApp.EvenModule.sequence=2
hawk.SampleApp.PrimeModule.sequence=3

Duration of hawk in second.
hawk.mainModule.duration=1
hawk.mainModule.iteration=1000
hawk.mainModule.iteration.thinktime=3

hawk.SampleApp.OddModule.iteration=1
hawk.SampleApp.OddModule.iteration.thinktime=0
hawk.SampleApp.OddModule.thinktime=5
hawk.SampleApp.OddModule.runnable=1

hawk.SampleApp.EvenModule.iteration=4
hawk.SampleApp.EvenModule.iteration.thinktime=2
hawk.SampleApp.EvenModule.thinktime=3
hawk.SampleApp.EvenModule.runnable=1

hawk.SampleApp.PrimeModule.iteration=1
hawk.SampleApp.PrimeModule.iteration.thinktime=0
hawk.SampleApp.PrimeModule.thinktime=0
hawk.SampleApp.PrimeModule.runnable=1

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()

}

}

 

Queries can be sent to abeautifulmind98@gmail.com