Installation
Instructions
This
section describes how to install PushToTest TestMaker, how to get
started quickly, how PushToTest TestMaker enables black-box and
grey-box testing, and how to configure TestMaker memory settings.
Installing PushToTest TestMaker
The
PushToTest
Company distributes a pre-built and ready-to-run binary of TestMaker
under a commercial license found in license.txt. The commercial license
is free and authorizes you to run up to 200 concurrent virtual users
and 10 concurrently running service monitors. Additional virtual users
and monitors are available for purchase from PushToTest. Click here for details. PushToTest
TestMaker source code is free and distributed under a GPL v2 license.
The PushToTest TestMaker installer requires the Java 1.6 or higher
runtime environment. Sun Microsystems makes the Java runtime
environment available at http://www.java.com.
Please run the following installers. Normally you accomplish this by
double-clicking or running the setup script that comes with one of the
following downloads:
- TestMaker_Install
- this installs the PushToTest TestMaker environment. TestMaker is the
development environment to build tests and the central console
to operate tests. By default this also installs a local TestNode to
operate tests from your local machine.
- TestNode_Install
- this installs a TestNode, the remote environment that receives
commands from TestMaker and runs a test.
- Monitor_Install
- this installs the PushToTest Monitor to observe CPU, network, and
memory utilization as tests operate.
The
installers prompt you for a directory where the TestMaker files should
be installed.
The TestMaker documentation refers to this directory as testmaker_home.
The
testmaker_home directory contains these files:
- agents - Example
agents show how PushToTest TestMaker works through
practical examples
- docs - Documentation and additional information on
PushToTest TestMaker, including a reference guide to the PushToTest
TestMaker scripting language and Javadoc documentation for developers
wanting to change and improve PushToTest TestMaker
- lib - Code libraries that support PushToTest TestMaker
operations
- license.txt - The license for PushToTest TestMaker
- TestMaker.bat - Launches PushToTest TestMaker on Windows
systems
- TestMaker.sh - Launches PushToTest TestMaker on UNIX, Linux,
and Mac OS X systems
- QuickStart.html - Read this document first for release notes,
last minute changes, and additions to PushToTest TestMaker
PushToTest
TestMaker comes with everything needed to build and run tests.
PushToTest TestMaker requires a Java 1.6 or higher compliant virtual
machine already installed.
To run PushToTest TestMaker:
- Windows users run the testmaker_home/TestMaker.bat file.
This file executes a shell script that configures the local
classpath and launches the PushToTest TestMaker application.
- Unix, Linux, and Mac OS X users run the
testmaker_home/TestMaker.sh file. This file executes a shell
script that configures the local classpath and launches the PushToTest
TestMaker application. Note: Some Unix systems
require you to enable the TestMaker.sh file and
testmaker_home/utils/TMCP.sh file with an executable file privilege
using the chmod +x TestMaker.sh command.
From
time-to-time we update PushToTest TestMaker to solve bugs and introduce
new features. The PushToTest Web site home page shows the most recent
version number. Downloads are available there too.
Answers
to common installation problems are found on the Frequently Asked
Questions page.
Windows Vista
Windows Vista users need to set the option to "Run As Administrator"
when operating the TestMaker installers. See instructions in Vista for User Account Control for details.
Windows NT and 2000
The TestMaker.bat
start-up script is incompatible with Windows NT and 2000 because of a
problem in the Windows command-line program (cmd.exe.)
When you run
TestMaker_home/TestMaker.bat from the desktop you will see a
command-line window flash and go away on the screen. Open a
command window
(Start - Run - cmd.exe) to see the error message. On Windows NT and
2000 you will see the error message was “The input line
is too long”. Windows NT and 2000 have a maximum batch file line
length of 2048 characters.
The workaround
solution is to use the Windows XP command-line program in Windows NT or
2000. Windows XP has a maximum batch file length of 8192. Copy the
cmd.exe file from WinXP to
c:\winnt\system32\ with the name cmd_XP.exe. Open a command
window using cmd_XP.exe file (Start - Run - cmd_XP.exe) and run
TestMaker.bat.
For your convenience (and until Microsoft learns about this,) click here to download the WinXP cmd.exe file from the PushToTest download site.
Thanks to Mike Collins for this simple workaround.
TestNetwork, TestNode, Monitor Installation
The
PushToTest runtime is a distributed environment to operate tests.
PushToTest TestMaker is built on the PushToTest TestNetwork foundation
to enable tests to run on one or more TestNodes, the distributed
TestMaker environment.
The PushToTest runtime provides a distributed test environment using
TestNodes. A TestNode is the PushToTest runtime environment implemented
in Java meaning it can run anywhere Java runs. The PushToTest console communicates
with the TestNodes over SOAP protocols using port 80 meaning
you typically don't have to make any changes to your firewall settings
to distribute a set of TestNodes.
The
TestNode environment works equally well for software developers, QA
efforts, and IT operations. For instance, TestMaker users install the
TestNodes on a set of remote
machines to see from a variety of different vantage points how well
their application is serving their users. TestMaker users also install
TestNodes on a rack of servers
within a QA lab to generate very high levels of concurrent use of an
application to do high level of scalability and performance testing.
Lastly, TestMaker users install TestNodes on a series of different
networks to
identify whether one network service provider is providing you with
better service than the others.
The PushToTest
runtime also includes a monitor capability. The monitors watch for CPU,
network, and memory utilization and are
extensible to provide you with metrics about other facets of your
application. TestMaker users install the monitor on Windows XP, Linux,
and Mac OS X systems. The monitor technology is a base for PushToTest
to provide extended functions, including SNMP agentless monitoring and
interfacing with JMX-enabled management interfaces.
The PushToTest runtime offers a
SOAP-based Web Service request using the PushToTest As A Service (PAAS)
protocol. PushToTest executes the test and returns a Governance
Statistics Results Set (GSRS) response document. Use PAAS and GSRS to
integrate PushToTest test and monitor data with analysis tools. For
instance, PushToTest integrates with the Software AG X-Registry to
provide service governance through test automation and integrates with
DBA InfoPower to provide insight and remediation of database
bottlenecks.
Configuration Options
PushToTest
TestMaker, TestNode, and Resource Monitor software is built in Java.
Java features its own memory manager, classpath loader, and thread
management. The PushToTest software comes with program launcher
shell scripts. Use these scripts to set options for memory settings,
additional software packages, and debug options.
Changing TestMaker Memory Settings
To change memory
settings for TestMaker open the TestMaker_home/TestMaker.bat for
Windows and TestMaker_home/TestMaker.sh for Unix, Linux, and Mac OS X.
See the detailed instructions in these command shell scripts to change
the memory settings for TestMaker.
Changing TestNode Memory Settings
To set the
memory for an installed TestNode, change the contents of
TestMaker_home/TestNetwork/TestNode/startup.bat for Windows and
TestMaker_home/TestNetwork/TestNode/startup.sh for Unix, Linux, and Mac
OS X. In these scripts you will see a command line as follows:
@"%JAVA_HOME%/bin/java" -Xmx128M -DSTOP.PORT=8079 -DSTOP.KEY=secret -jar start.jar @echo "TestNode? Started"
Adjust the memory settings using the -Xmx parameter.
Adding SSL Certificates
TestMaker supports HTTPS and Secure Socket Layer (SSL) protocols. These protocols use the Java Cryptography Architecture
to work with SSL certificates. The TestMaker protocol handler will
throw an SSLHandshakeException when connecting to a server over SSL
protocols when the server-side SSL certificate is unknown:
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target
Follow these steps to register the SSL certificate:
- Download the server-side SSL certificate to your local machine.
Many browsers let you save the certificate. For instance, clicking the
SSL icon in Microsoft Internet Explorer will display the certificate.
In Mac OS X Safari, click the SSL (lock) icon and drag the certificate
icon to a directory.
- With the Java Development Kit (JDK) installed, use the Java
Keytool to import the SSL certificate into the Keystore. You can use
the following command from the command shell or terminal window:
keytool -keystore "TestMaker_home/pushtotest.keystore" -import -alias mycertificate -file "mydirectory/sslcertificate.cer"
- Tell TestMaker to use your Keystore by modifying the
TestMaker_home/TestMaker.sh (for Unix, Linux, and Mac OS X users) and
TestMaker_home/TestMaker.bat (for Windows users.) Add the following to
the last line of the start-up script:
java $maxqarg $lookarg $python $testnetwork -Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore -Dfrank=cohen -classpath $TMCP com.pushtotest.testmaker.Main "$@"
Notice the -Djavax.net.ssl.trustStore added to the start-up script.
- Tell the TestNode on your local TestMaker instance to use your
Keystore. Modify the TestMaker_home/TestNetwork/TestNode/startup.sh
(for Unix, Linux, and Mac OS X users) and
TestMaker_home/TestNetwork/TestNode/startup.bat (for Windows users) as
follows:
$JAVA_HOME/bin/java -DSTOP.PORT=8079 -DSTOP.KEY=secret -Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore -jar start.jar
- Tell your installed TestNodes to use your Keystore. Modify the TestNode_home/startup.sh (for Unix,
Linux, and Mac OS X users) and
TestNode_home/startup.bat (for Windows users) as
follows:
$JAVA_HOME/bin/java -DSTOP.PORT=8079 -DSTOP.KEY=secret -Djavax.net.ssl.trustStore=TestMaker_home/pushtotest.keystore -jar start.jar
Integration Options
We designed PushToTest to integrate into everyday software development environments.
Run From The Command Line
Operate a
PushToTest TestScenario from the command line using the
TestMaker_home/TestMaker.bat (for Windows, and TestMaker.sh for Linux,
Unix, and Mac OS X) start-up script.
TestMaker_home/TestMaker.bat -t c:\mytests\myTestScenario.xml
The above example runs myTestScenario.xml from the command line.
PushToTest sends operational messages to the command line shell as it
operates the TestScenario. Results and standard output is also sent to
the Results directory for this TestScenario.
Please note: PushToTest normally starts a local TestNode and a local
PTTMonitor (to observe CPU, network, and memory utilitization) when you
start the PushToTest application. When running TestMaker from the
command-line you must start the TestNode, and optionally the
PTTMonitor, from the command-line too.
TestMaker_home/TestNetwork/TestNode/startup.bat
(The above is for Windows, use .sh for Unix/Linux/Mac OS X)
Start the local Resource Monitor - PTTMonitor using:
TestMaker_home/PTTMonitor/startMonitor.cmd
Ant Integration
Operate PushToTest from within Ant build scripts. The following is an Ant example for Windows environments:
<target name="pushtotest-test">
<exec dir="C:\\Program Files\\PushToTest_TestMaker\\TestMaker.bat" executable="cmd.exe">
<arg line="-t c:\mytests\myTestScenario.xml"/>
</exec>
</target>
PushToTest
requires many supporting class libraries. See the
TestMaker_home/TestMaker.bat (or TestMaker.sh for Linux, Unix, Mac OS
X) for a list of required libraries.
jUnit Integration
It is fairly easy to invoke PushToTest from your own JUnit-tests. Consider the following example:
public void testRunner() throws Exception
{
com.pushtotest.testmaker.Main pushtotest =
new com.pushtotest.testmaker.Main("-t","c:\mytests\myTestScenario.xml");
}
PushToTest requires many supporting class libraries. See the
TestMaker_home/TestMaker.bat (or TestMaker.sh for Linux, Unix, Mac OS
X) for a list of required libraries.
Logging To RDBMS
PushToTest optionally logs transaction result data to a Relational Database Management System (RDBMS.) Click here for details.
Maven Integration
PushToTest is
compatible with Maven by running PushToTest as an Ant task. We are
working on a Maven plug-in that will appear in PushToTest version 5.2.
For latest details see: http://bugs.pushtotest.com/ticket/207
|

|

|

|
Additional
documentation, product downloads and updates are at www.PushToTest.com.
While the PushToTest TestMaker software is distributed under an
open-source
license, the documentation remains (c) 2007 PushToTest. All rights
reserved. PushToTest is a trademark of the PushToTest company.
|
|