JTR 5.0 API Documentation

The JTR 5.0 Project API

The JTR Project is a Java distributed testing framework conceived to fill a gap existing today most notably in the open-source world that is the lack of a single tool that could help in developing from simple to complex test suites in Java with particular emphasis on the stack of backend-technologies embraced by the JEE specification.

See:
          Description

Packages
jtr.ant This package contains Ant-based tasks useful for running JTR 5 both in passive and active mode.
jtr.assigner This package contains all the interfaces defining the contract standing amongst the JTR runtime and those concrete components in charge of implementing parameters assignment strategies as described in the users' guide available starting form here.
jtr.assigner.impl Default implementations of the contracts defined in the jtr.assigner package.
jtr.assigner.util This package includes utility classes for performing runners' parameterizaions from within concrete assigners implementations.
jtr.config Here reside all the basic classes used to compose the object-oriented representation of a jtr.xml configuration file.
jtr.config.enterprise This packages gathers those classes used to represent the enterprise configurations defined in the jtr.xml file.
jtr.config.jms In this package are located those classes used to provide an object-oriented representation of the JMS Configuration Section of a jtr.xml file.
jtr.config.remote This package contains the classes required to reprsent in object-oriented way the XML elements used in a jtr.xml file to represent JTR Passive-Nodes that must take part in a JTR Distributed-Test Session.
jtr.config.script This package contains the classes required to reprsent in object-oriented way the XML elements used in a jtr.xml file to represent both library and parameterization scripts.
jtr.config.ws This package contains all those classes that maps one-to-one with those XML elements used to define WebServices Configurations in a jtr.xml configuration file.
jtr.enterprise This packages contains helper classes for performing lookup of JEE resources.
jtr.jms This package contains helper classes for performing JMS-related tasks.
jtr.lang.functions This package contains the main interfaces that must be implemented by both built-in and user-defined functions that should be used to assign values to runner parameters.
jtr.lang.functions.impl This package contains the default implementation of the built-in statistical functions shipped with JTR.
jtr.pool This packages contains internal classes required by the JTR runtime.
jtr.remote.cl This package defines all the basic components that enable the dynamic transmission of locally-unavailable class-definitions and resources, from a JTR Active-Node to JTR Passive-Nodes during a JTR Distributed-Test session.
jtr.remote.cl.impl This package is meant for storing concrete implementation(s) of contract(s) defined in jtr.remote.cl.
jtr.remote.pool This package contains specializations to classes/contracts defined in jtr.pool, required to enable JTR Distributed Testing sessions.
jtr.remote.test This package contains specializations to classes/contracts defined in jtr.test, required to enable JTR Distributed Testing sessions.
jtr.remote.test.impl This package contains concrete default implementations of the contracts defined in jtr.remote.test.
jtr.remote.utils This package contains utility classes for performing various RMI-based tasks.
jtr.runners This package defines the hierarchy of interfaces that shape the interaction between user-defined runners and the JTR runtime.
jtr.script This package contains the main interfaces that must be implemented by both built-in and user-defined bindings to scripting-engines that should be used to run scripts meant for assigning parameters to runners.
jtr.script.impl This package contains the implementations of the built-in bindings to scripting-engines that can be used to run scripts meant for assigning parameters to runners.
jtr.test This package contains all those classes and interfaces in charge of managing the execution of JTR Test Sessions.
Beside this, this package brings a set of interfaces that model the way an outcome is defined in the JTR Project, and other contracts that must be implemented by those components in charge of showing the test results to the end user upon completion.
jtr.test.impl Default implementations of the interfaces defined in the jtr.test package.
jtr.test.results.exporters This package contains defines the contract that components in charge of exporting test results to any particular format must adhere to in order to be able to interact with other JTR components.
jtr.test.results.exporters.impl This package contains default implementation(s) of the contracts defined by interfaces located in jtr.test.results.exporters.
jtr.ui.swing The default Swing-based JTR user-interface.
jtr.ws Here we have all the contracts that define the interaction between the JTR runtime and those components in charge of supporting user-defined runners in webservices invocation.
jtr.ws.jaxws Default JAX-WS 2.1.1 based implementation of the contracts defined in jtr.ws.

 

The JTR Project is a Java distributed testing framework conceived to fill a gap existing today most notably in the open-source world that is the lack of a single tool that could help in developing from simple to complex test suites in Java with particular emphasis on the stack of backend-technologies embraced by the JEE specification.

The JTR Framework

The JTR Framework is aimed at fastening the development of both functional and stress-test suites for verifying the requirements and robustness of both JSE and JEE projects. The JTR Framework supports you in writing components meant for testing:
  1. standard JSE components / applications
  2. EJBs conforming to both J2EE 2.x and JEE specifications
  3. MOM-based JSE and JEE systems (JMS)
  4. web-services (both document-based and rpc-like)
The JTR Framework has been written following the principles of IoC (Inversion of Control). Following this approach it lets developers focus exclusively on the test-logic, bereaving him/her of the burden to think about dealing with a great number of issues generally related with resource retrieval, multithreading management, tests parameterizations, error handling and so on. The JTR Framework lets you concentrate solely on the testing logic, leveraging on the JTR Runtime to deal with other important tasks on your behalf.

The JTR Runtime

The JTR Runtime provides you with the following features:
  1. multiple runner instances management (runners-multithreading and scheduling)
  2. runner instances parameterization
  3. management of JMS resources
  4. stub-less (or dynamic) webservices invocation
  5. automatic error handling
  6. test results collection and inspection via the JTRConsole
  7. effortless distributed testing
  8. scripted parameters
  9. statistical parameters
  10. JUnit 4 integration

JTR Customization

The JTR Project is an highly customizable product. This feature enables you to mold it in the way that most satisfy your needs and requirements. Customizing JTR is an easy process that requires you to become confident with those pluggability point exposed by the JTR Framework. Further information are provided in a dedicated section of the Users Guide.

Licensing

JTRunner is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

Useful external links

JTR (Java Test Runner) Web Site
JTR (Java Test Runner) Users Guide


The JTR Project is licensed under GPL version 2