TestMaker Release Notes — PushToTest
Personal tools
You are here: Home Library TestMaker Release Notes

TestMaker Release Notes

Identifies the changes for each release of TestMaker.

Changes Since the Previous Edition

TestMaker 5.1

  • TestMaker 5.0 ships with TestGen4Web 0.49 that fails to install on Firefox 2.0.0.7 or later. TestMaker now ships with TestGen4Web 0.50.2-PTT to be fully compatible with Firefox 2.0.0.7 and later.
  • TestMaker 5.1 changes the way TestGen4Web scripts are run in the TestNode environment. The new script runner uses TestGen4Web's htmlunit-interpreter package. This improves TestMaker's ability to natively run TestGen4Web recorded unit tests.
  • TestMaker 5.1 offers many minor improvements and bug fixes to the results and reporting capabilities. The charts for a load test now include a legend of concurrent user (CR) levels. We fixed an issue where load tests greater than 12 hours show negative horizontal axis values in the resource distribution charts. We removed the load test summary report from the output panel. We added new options to the TestScenario definition for a load test to automatically save all charts to the results directory and create an HTML-based summary report.
  • We fixed many problems with installing and running TestMaker on Mac OS X, including an installation problem that prevented the Resource Monitor (PTTMonitor) from running.
  • We updated the documention by correcting many spelling and grammer problems and including new sections for QA Testers and IT management. Additionally, we added new documentation to show the options to log results data directly to a Relational Database Management System (RDBMS)and added documentation to show how to set TestMaker and TestNode memory settings.
  • We did an overhaul of the TestMaker classpath and supporting Java Archive Resource (JAR) files. 
  • TestMaker runs on Windows XP, Windows 2003 Server, and Windows Vista. TestMaker 5.1 and later is no longer compatible with the old Windows 2000 and NT operating environments because of a bug in Windows that limits the size of a classpath.
  • TestMaker 5.0 shipped with a typo in the <delayBetweenStartingUseCases> element in a TestScenario. The element was incorrectly named<delayBetweenStartingUseCasses> (notice the extra 's'.) TestMaker 5.1 accepts the correct and incorrect versions.
  • Added the File menu -> Open Scenario command to open TestScenarios.
  • Added new capability to TestScenarios to control timeout values for usecases (unit tests) that take too long to operate.
  • Added an option for the transaction distribution charts to use a moving data average instead of inserting every data point.

PushToTest maintains an issue/change database at http://bugs.pushtotest.com. The following is a list of changes in TestMaker 5.1:
Ticket
Summary
162 TestGen4Web 0.50 update to fix FireFox 2.0.0.8 compatibility
180 Load test Scalability Index report needs to show CR levels in horizontal axis
182 Remove load TestScenario summary report in ouput panel, add Save All Charts
184 Resource distribution report showing negative axis values
187 Mac OS X Installer Problems
191 DPL's not working
62 Logging to a RDBMS
137 SOAP Attachment problem
138 Cleanup/Update needed for libraries packaged with TestMaker
141 s/delayBetweenStartingUseCasses/delayBetweenStartingUseCases/
149 File menu -> Open... needs to open TestScenarios (same for icon toolbar open)
158 Passing extra parameters to testnode JVM
159 Web site broken links
165 TestScenario missing langtype attribute throws NPE
168 Save All charts for Controller Panel Load Test creates summary html document
171 TestCases need timeout values
179 Documentation Update: Grammer and Spelling
185 Transaction distribution charts using moving data averaging
194 "Add result directory" button in PCU needs to remember last directory
166 TestScenario missing langtype attribute throws NPE
175 Monitor disabled on Mac OS X
57 Mac Monitor: net.sh not installed




What Is New In PushToTest TestMaker Version 5.0

PushToTest TestMaker 5.0 delivers many new features and makes the environment easier-to-use and much more useful as software transitions from developer, to QA, to IT manager. We were thrilled TestMaker received an "Excellent" rating from InfoWorld. The article touched on something that we knew for a long time: while TestMaker is wonderfully advanced it can also be complex to learn. We focused our efforts on TestMaker in two areas: ease-of-use to build and operate tests, and broaden the feature set to make TestMaker a platform that is useful in software development for unit and functional testing, QA for load and scalability tests, and for IT for patch qualification (regression/integration tests) and service monitoring.

Here is a summary of the architectural advantages in TestMaker Version 5.
  • Designed For IT Integration and Continuous Use
    • Monitor enterprise Web services to surface performance bottlenecks, missing functions, and issues
    • Root cause analysis and remediation through integration with application and database analysis tools
    • Governance Platform Integration to manage tests as corporate assets using Registry/Repository
    • Automate test operation using Continuous Integration Environments
  • Reduces downtime by qualifying patches, updates, hardware changes
  • Designed for multiple forms of testing
    • Regression, Functional, Load, Scalability, Performance, Service Monitoring
  • Designed for environments with XML, Platforms, Applications, and Databases (XPAD)
    • Distributed test environment: vertical deployments for load and scalability tests, horizontal deployments to analyze users experiences on multiple networks/ISPs
    • Multiple protocols (HTTP, HTTPS, SOAP, REST, AJAX, email) and extensible to add more
    • Build tests in a variety of languages, including Java, .NET, Jython, Groovy, PHP, Ruby, and many other
  • Designed for multiple user roles
    • Software developers - run tests on their development machines
    • QA technicians - Recorders and Wizards avoid coding and do not require deep technical skills
    • IT managers - operates tests as service monitors to prove SLAs with no extra effort
  • Proven deployments
    • Commercial licenses at GM, BEA, AMP, European Union, TIBCO, Raining Data
    • Consistent and regular product updates/upgrades since 2002
    • Large open-source user community - 130,000 users
  • Cost effective solutions
    • PushToTest Test and Remediation Services
    • PushToTest Global Services
    • Less expensive and more powerful than many commercial test tools
    • Open source software makes improvements and bug fixes much more rapidly available than commercial solutions.
At a features level here is what you will find in TestMaker Version 5.
  • TestScenario is a new XML-based system to reuse unit tests as regression tests, functional tests, load tests, integration tests, and service monitors requiring no coding.
  • Graphical environment to control tests and view results in real-time.
  • Record/play-back unit tests of Web applications using the integrated point-and-click TestGen4Web utility.
  • Create test suites of SOAP-based Web Services using the integrated Eviware soapUI utility.
  • Create tests of AJAX and REST applications using the integrated HTMLUnit framework.
  • Java 6 ScriptEngine (JSR 223) support enables you to write tests in any supported language: Java, Jython, Groovy, PHP, Ruby, and many others.
  • Distributed test environment (TestNetwork/TestNodes) to vertically scale tests to thousands of users and horizontally scale tests to operate the test from multiple locations around your network
  • Performance Comparison Utility shows changes in performance from one test to another.
  • Monitors CPU, Network, Memory utilization as test operates.
  • Transaction distribution analysis charts as test operates.
  • Automatic archiving of test results in XML file format.
  • Log to Relational Databases (RDBMS)
  • Data Production Library (DPL) system to create dynamic data as test operates from XML files, Comma Separated Value (CSV) files, and Relational Database (RDBMS)
  • Validate service responses using Data Production Library (DPL,) integrated XML parsers, regular expressions, and custom objects.
  • Operate PushToTest As A Service (PAAS) by making a SOAP request to TestMaker to operate a test and return the statistics of the test results. Includes fully functional interoperability with SoftwareAG/WebMethods X-Registry repository.
  • Start, pause, stop, and change the order of test case operation as the test operates.
  • Service monitor panel shows service status dashboard.
  • Notification of test operation by email, SMS, pagers.
  • Expanded protocol handler support (HTTP, HTTPS, Apache SOAP, Apache Axis SOAP, REST, AJAX, email) and extensible to add your protocols.
  • Backwardly compatible with TestMaker 4 tests.
  • Call TestMaker from the command-line to use with Continuous Integration Environments.
  • Professional documentation, tutorials, screencasts, and reference guides.

We recommend you read the PushToTest TestMaker User Guide to get started quickly.
 


Changes Since the Previous Edition

TestMaker 4.4

  • Improved the charting capability to let XSTest show live results in a chart as the test runs. While the test runs, click the Meters And Charts tab in the Output window to see the live Transactions Per Second (TPS) results as they happen.
  • TestMaker 4.4 uses jFreeChart. TestMaker no longer supports or uses JOpenCharts, the DatasetOperations objects in TOOL, nor the old MetersAndCharts.py example test agent script. See XSTest or testmaker_home/example_agents/ChartResults.py for examples of the new charting support.
  • New test agent script environment variables - ChartPanel and ChartSupport - make it easier to work with the built-in charting package. See testmaker_home/example_agents/ChartResults.py for usage.
  • Rewrote all of the example test agent scripts and moved them to testmaker_home/example_agents
  • Test agents generated from the Recorder automatically extend from junit.framework.TestCase
  • TestMaker distributions no longer come with the testmaker_home/source directory. Source code is free and available through these services:
    CVS - The source code control system allows anonymous check-out the tm44 repository.
    Source Browser - Use the cvsweb utility to browse the TestMaker source code repository using a Web browser. Access the utility at: http://cvs.pushtotest.com/cgi-bin/cvsweb.cgi
  • The TestNetwork client software has several new features: enhanced reporting, live charts, synchronized test case start protocols, improved reporting, and remote jar file installation.
  • Fixed a bug that crashes TestMaker while using Log4J.
  • Removed unused jar files and add a newer version of the Java Web Services Developer Pack (WSDP) 1.4.
  • Change the simplelogger to default to append mode.
  • Fix a bug that prevented logging HTTP respond header values.
  • Fix a bug in XSTest where test cases after the first test case would not run or record results.
  • Fix a problem where URL encoded GET requests were encoded wrongly.
  • Changed the default for recorded scripts to throw exception when a Web host returns a 404 Not Found error.
  • Fix a problem where running test agent scripts from the command-line using the -c option would not work on fast (ie- 64 bit) Unix systems.

 

TestMaker 4.3.3

  • Added new functions to handle multipart MIME attachements in HTTP Post requests. See the new testmaker_home/agents/multipartform.py test agent script for details.
  • Changed HTTPProtocol.java to handle 401 Unauthorized responses correctly. The old method would throw an IOException, the new method returns a response object with the 401 response code.
  • Fixed bugs in agentbase.py introduced in TM 4.3.2 where agentbase needlessly created an HTTPProtocol object for each connection to the host. It also introduced a workaround to copy cookies from one http call to the next, when the HTTPProtocol handler object does this automatically.
  • Added setHeaders() to HTTPHeader.java to fix a problem where non-multipart-form POST commands would throw a Null Pointer Exception. This is fixed.
  • Fixed an Null Pointer Exception in the HTTPProtocol object that happens when making a POST with no headers.

 

TestMaker 4.3.2

  • Update to the latest Tagsoup 1.0 rc3
  • Fix a bug in the TestMaker start-up scripts where the script adds the wrong TagSoup file name to the classpath. This results in an error when playing back recorded scripts:
    org.jdom.JDOMException: org.jdom.JDOMException: Could not load org.ccil.cowan.tagsoup.Parser: SAX2 driver class org.ccil.cowan.tagsoup.Parser not found: org.ccil.cowan.tagsoup.Parser
    This change avoids the error. No change to recorded scripts is required.
  • The XSTest default properties.py file included an extra script command that set the cvus variable to [2]. This is fixed.
  • Playback of recorded scripts used to identify requests to a host as coming from a 'java' client type. Agentbase.py now sets the default to emulate Microsoft Internet Explorer. The change to agentbase.py makes it easier to set this value as needed. Thanks to Geoff Meankin for this patch.
  • Playback of recorded scripts now checks documents received from the host to see if the document is of a text/html type. If not, TestMaker skips parsing the document for <img> tags. Thanks to Geoff Meankin and Bongos Amigos for this patch.
  • Improvements to agentbase.py improve handling of cookies and HTTP headers during playback of recorded scripts. Thanks to Geoff Meankin for this patch.
  • Unix/Linux startup script now correctly uses the TMCP.sh script to create the TestMaker classpath. Additionally, it now correctly passes in command-line arguments.
  • Removed the testmaker_home/utils/runagent.sh and runagent.bat command-line scripts. These were used to run test agent scripts from the commandline. The new way to do so is to add the -commandline switch to the testmaker_home/TestMaker.sh and TestMaker.bat scripts. For instance, the following will run the master.py script from the command line on a Unix platform:
    testmaker_home/TestMaker.sh -commandline /home/myhome/master.py
    on Windows use TestMaker.bat in the above example.
  • The TOOL HTMLParser was truncating form elements whose name included spaces. For instance, <select name="san jose"> would be truncated to 'san'. This is fixed. Thanks to Bongos Amigos for pointing out the problem and solution.

 

TestMaker 4.3.1

  • Implemented the Plastic look-and-feel using JGoodies. TestMaker now takes a new parameter named lookandfeel that contains the classname for a UIManager-compatible class. The TestMaker.bat and TestMaker.sh scripts now feature this new parameter. By default the look is set to Plastic3DLookAndFeel. Others are possible by setting the lookandfeel parameter to: com.jgoodies.plaf.windows.ExtWindowsLookAndFeel, com.jgoodies.plaf.plastic.PlasticLookAndFeel, com.jgoodies.plaf.plastic.Plastic3DLookAndFeel, com.jgoodies.plaf.plastic.PlasticXPLookAndFeel, or any of the other UIManager compatible class names. Thanks to
  • Added the PyHttpTestCase.py base class file from MaxQ to enable MaxQ recorded scripts to run in TestMaker. Thanks to Jerry S. (jer_57 at cox.net) for the suggestion.
  • Changes to the proxy host location and port now are loaded from the TestMaker.properties file on start-up. Thanks to K Satish (ksatish21 at yahoo.co.in) for pointing out the problem.
  • The HTTP protocol handler object now performs URL encoding correctly. When a GET request to a URL whose path and/or query include the URL encoded value for # - or %23 - then the protocol handler would throw a java.io.exception. When the encoded %23 appeared in the query then TestMaker truncates the query to the characters appearing before the %23. Both are wrong and have been fixed in TestMaker 4.3.1.
  • Added JAX-RPC and SAAJ distributions from the Java Web Services Developer Pack 1.4 to the TestMaker distribution.
  • Add Control-R (Windows) and Command-R (Mac) keyboard accelerator for Run command.
  • Add SOAP header support to SOAP Protocol Handler. Use the SOAPHeader to set the header information. Thanks to Mark Bocco (mbooco at us.ibm.com) for contributing the code to support SOAP Headers. See the SOAPHeader Wiki page for details.
  • The Jython project recently received a grant from the Python Foundation. They are working on a number of enhancements. For TM 4.3.1 no update to Jython is planned. The implication is that TestMaker will still not be compatible with Java 1.5. Details on the changes to Jython are found here: http://www.python.org/psf/grants/Jython_PSF_Grant_Proposal.pdf (53K Adobe Acrobat format.)
  • TestMaker now treats test agent scripts that end in .xql as XQuery scripts. The included Kawa parser compiler parses the XQuery, runs the query and outputs the results in the output panel.

TestMaker 4.3

  • Updated the TestMaker documentation to reflect the new user interface. Added the J User's Guide.
  • Alt-R (on Windows) and Command-R (on Macintosh) automatically saves all open scripts and runs the current open script file.
  • Added a new QuickStart window that appears the first time TestMaker starts. The QuickStart window facilitates easy access to the New Agent Wizard, documentation, and example test agents.
  • All test agent script files now use the standard Python .py file extension.
  • Previous versions of TestMaker performed an update check to notify you when new versions of TestMaker become available. This is disabled in 4.3 and may return in a future version.

 

TestMaker 4.3 beta 1

  • Beta 1 is fully functional and we have found no major bugs. We plan to update the documentation and then release 4.3 in early January 2005. Send bug reports to info@pushtotest.com.
  • Replaces the previous text editor with J, a very powerful text editor. J features Python syntax highlighting, easy navigation among method definitions, search/replace, advanced search using Regular Expressions, code indentation, and much more.
  • New Quick Start Helper window opens upon start-up to offer immediate choices to create a new test agent script, read documentation, and learn about the included sample test agents.
  • Updated the graphic interface for creating new scripts.
  • TestMaker 4.3 is distributed under a GPL General License. Previous versions of TestMaker are distributed under an Apache-style license. The GPL license is free and allows you to distribute and modify TestMaker, however, unlike the Apache-style license changes to TestMaker must be contributed back to the TestMaker project.

 

TestMaker 4.2

  • Upgraded to tagsoup rc1 to solve problem parsing HTML from Microsoft Word. Older tagsoup would thran exception indicating that <o:p> is not a valid tag. Fixed.
  • When playing-back a recorded test agent script a post command with no arguments would throw an exception. Fixed.
  • Recorder's Help button now functions properly.
  • Rewrote the generate new agent to implement the new jUnit-style TestCase interface.
  • Help -> Online Docs now opens to ./Docs/index.html.
  • Agentbase.py - used by recorded test scripts - would throw an exception for post commands that contained no arguments. Fixed.
  • TOOL simplelogger has new methods to control file naming and open/close status.
  • TestNetwork would sometimes throw a "TNMaster" unknown module exception. Fixed.

 

TestMaker 4.2 beta 2

Beta 2 features bug fixes, an update to XSTest to make it compatible with TM 4.2 recorded scripts, and enhancements to TestNetwork. We have good confidence that beta 2 requires few if any changes before being released as a stable version. There are no known bugs or incomplete features. We are now concentrating on improvements to the documentation. Please send your comments, feedback, patches, and criticisms to users@lists.pushtotest.com. Thank you, in advance.

  • Added MaxQExceptionHandler code to MaxQ
  • Attached Proxy server and port settings from Prefs
  • Save Script As now asks for user approval to overwrite existing file

 

TestMaker 4.2 beta 1

TestMaker 4.2 focuses on improving the test agent Recorder capability in the New Agent Wizard. The Recorder has been completely reworked to solve outstanding bugs. Please send your comments, feedback, patches, and criticisms to users@lists.pushtotest.com. Thank you, in advance.

The majority of effort went into rewriting the New Agent Wizard Recorder. Click here for details.

Bug fixes

Using the Tools -> Network Monitor drop-down menu would create a new tcpmonitor object each time. The correct behavior is to instantiate the tcpmonitor object if one already does not exist and to make the tcpmonitor window visible. This is fixed.

Found and fixed a problem where TestMaker would display an alert box saying "Invalid URL" on start-up for users that were either behind a proxy server or without a network connection. The default.properties files pointed the HelpSystem class to http://www.pushtotest.com/ptt an old and now invalid URL. When TestMaker constructed the HelpSystem it would open a java.net.URL object with this URL. The HelpSystem would then open the alert box. This is now fixed.

A few TestMaker users have posted problem reports where TestMaker would display a modal alert box saying "Malformed URL exception" on start-up. We originally thought this was the Update Checker code going wrong. I looked into it today and found that the HelpSystem was causing the alert to appear. The default page for the HelpSystem is set in the TestMaker.properties (and Default.properties) files to http://www.pushtotest.com/ptt. If you are behind a proxy server or without a network connection, TestMaker will throw the error.

New Features

System.out and System.err messages are now displayed in the Output panel within the TestMaker application. Previously such output appeared in the console/shell that launched TestMaker.

By default TM now adds the scriptpath value to the sys.path. Scriptpath contains the path to the directory/folder containing the script that is running. This enhancement means it is not necessary to manually add the scriptpath to the Jython sys path to find script modules. Before this change scripts needed to do the following to make import statements for modules work correctly.

import sys
sys.path.append( scriptpath )

TestMaker now ships with Xerces version 2.6.2.

AgentRunner.java now adds ./lib to the Jython path. Test agent scripts created with the TestMaker 4.2 Recorder import a base class that provides several needed methods (agentbase.py) from the.testmaker_home/lib directory.

Added simplelogger.getPrintWriter() method to return the open log file's PrintWriter stream, returns null if no open log.

Added convenience method: response.getContentSize() returns the size of the response content. Same as doing response.getContent().length()

Added conveneience method for ProtocolWrapper.getURL() with no input parameter assumes the transport is http.

Added TestMaker.getOutputWriter() method to return a java.io.writer (actually a JTextAreaWriter) for the Output panel in the TestMaker application. I need this for an enhancement to the new recorder.

Updated results.xsd schema as part of the new recorder output project. Checked-in new JAXB-created bindings for results.xsd. Looks like there will be at least one more change to the schema to fix little details, for example, some fields are coded as strings when they should be int or long.

Added some JavaDoc comments and added openLogFile( String fname ) convenience method to simplelogger.

build.xml clean method now removes the dist directory too.

Build.xml Ant build script now correctly generates JavaDoc API documentation for TestMaker and Tool.

 

Known Changes and Problems

We expect to have 2 beta releases of TestMaker 4.2 to get your feedback, solve bugs, and improve the code. Here is the list of remaining changes we know still need to be made. Volunteers are gladly accepted to the effort.
  • Add MaxQExceptionHandler code to MaxQ
  • Attach Proxy server and port settings from Prefs
  • Save Script As asks for user approval to overwrite existing file
  • Why doesn't the status field appear in the RecorderGui after clicking record?
  • Remove AgentRecorder directory and files from cvs tree
  • Plus, any of your feedback, comments, criticisms that require changes to TestMaker

Please send your comments, feedback, patches, and criticisms to users@lists.pushtotest.com. Thank you, in advance.

 


TestMaker 4.1.1

  • Added network monitor (sniffer) utility to TestMaker. The monitor allows TestMaker users to view the network-level conversation with a host. TestMaker automatically saves the monitor configuration between TestMaker uses. The monitor is based on the TCPMonitor utility from the Apache Axis project. Thanks to Sai at ComCreation for doing the majority of the work.
  • SOAPProtocol now tests to see if a SOAPBody has been set. If no, it makes a SOAP RPC encoded request. Previously, no SOAPBody would throw a Null Pointer Exception.
  • Java 1.4.1 and higher throws a "HTTPS hostname wrong: should be..." exception when it makes a secure connection to a host using the HTTPProtocol object in TOOL. Java wants to verify the server certificate. Java now implements a HostnameVerifier class to verify the server certificate. This release changes the HTTPProtocol handler to add a new setHostnameVerifier() method. This was originally brought up at: http://lists.pushtotest.com/pipermail/dev/2004-May/000232.html. Here is an example script to use the new method:
     from com.sun.net.ssl import HostnameVerifier

    class verifier( HostnameVerifier ):
    def verify( self, urlHostName, session ):
    print "HTTPS host name verifier. urlhostname: ", urlHostName, ", session: ", session
    return 1

    hv = verifier()
    url="https://swsblweb1.central.sun.com:8080/services/status.jsp"

    from com.pushtotest.tool.protocolhandler import ProtocolHandler
    from com.pushtotest.tool.response import Response

    protocol = ProtocolHandler.getProtocol("http")
    protocol.setHostnameVerifier( hv )
    protocol.setUrl( url )
    response = protocol.connect()

    print "Response = ", response
  • Protocol handlers now have getURL and parseUrl convenience methods. The following example script shows the new methods:

     protocol = ProtocolHandler.getProtocol("http") 
    protocol.setHostnameVerifier( hv )
    protocol.setUrl( url )
    print "The URL is set to:", protocol.getURL()


TestMaker 4.1

  • The Recorder did not record Web applications that do not return a content-type header parameters. The Recorder now uses a default content-type: test/html when no content-type header is found.
  • The TestMaker launcher scripts now pause for a keypress if system environment variables are not found.
  • Fixed problem where TestMaker would check for updates and display a browser everytime it opened. TestMaker now performs the check as it was designed: Use the History->Preferences->Updates menu to set the interval between checks, or set it to 0 to disable.
  • Changed the classpath statement in testmaker_home/source/build.xml build script to fix a number of typos. Thanks to Peter Schumacher for leading me to the problems.
  • Martyn Fagg (martyn.fagg at scluk.com) pointed out that the TestMaker text editor is using a short type array to keep track of lineOffsets. This restricts the largest offset to 32,767 characters. Large test agent scripts bump into this maximum value. Martyn recommended changing to an int type array to allow for 2,147 M characters. Changed.
  • Added the testmaker_home/TMCP.bat and TMCP.sh files to consolidate all the needed TestMaker jar files into one place. This is in preparation for a future launcher script that will offer new features, including running test agents as services. Thanks to Todd Bradfute for this improvement.

 

TestMaker 4.0.9

  • Added XSTest - a framework for turning TestMaker recorded functional test agent scripts into load and scalability tests. See the testmaker_home/XSTest dirctory for details or click here.
  • The TestMaker recorder was ignoring applications that do not return a content-type header. The recorder now uses a default content-type: text/html when no content-type header is found.
  • Modified the underlying Apache SOAP library to provide support for java.util.Calendar data types.

 

TestMaker 4.0.8

  • TestMaker 4.0.7 introduced a bug in the Recorder where recorded test agent scripts would not set the URL of the host in certain HTTP operations. When the recorded agent script is run a "Not Ready Exception" is thrown. This is fixed in 4.0.8.

 

TestMaker 4.0.7

  • Fixed a problem where the preference.java was not saving the Recorder port number.
  • Don Oliver (don_oliver@nmss.com) reported that Recorded test agent scripts multiplied the Transactions Per Second value by 1000. Fixed.
  • Changed the wording of the report a Recorded script gives. The new wording makes it clearer which call to the host caused the error.
  • Changed HTTPObserver in the Recorder to correctly handle parameters in GET commands. The old technique was flawed. It recorded a GET command with parameters by putting the parameters into the body of the HTTPProtocol. The correct place for these is in the URL with a ? character. This is fixed. One word of caution with this change: The Recorder handles multipart form data and this code got moved as part of this change. However, we have not tested this. We don't know of a publicly available application that uses multipart form data. Send email to info@pushtotest.com should you have a suggestion on this.
  • Robert Shaw (robert.shaw@usa.xerox.com) found that the Explorer did not recognize Solaris desktops. Changed the Explorer to treat Solaris just like any other Unix desktop and show the root directory.

 

TestMaker 4.0.6

  • Changed HTTPProtocol to correctly handle HTTP responses that have no content. Previous to this fix a redirect URL with no content would throw an exception. This is fixed.
  • Simplified the jCookie cookie handling methods in response to problems report by Jeff Bernardine where the HTTPProtocol object throws "Illegal State: Already Connected" exceptions it follows a series of redirect commands.
  • The HTTPProtocol class was not correctly setting the Request Method for POST commands. Pablo Chacin (pablo.chacin@ctp.com) contributed a patch that fixes this problem.
  • The HTTPProtocol class not setting the Proxy user name and password. Darren Spurgeon (dspurgeo@wfscopr.com) noticed this and contributed a patch that fixes this problem.
  • The TestMaker.bat start-up script for Windows builds a local classpath to run TestMaker. The classpath would continue to grow in length when used repeatedly from a command prompt. Jorgen Moller Larsen (jml@nykredit.dk) noticed this and provided a patch that fixes this problem.
  • The Lingo class now has a new method getString( int size ) that returns a string of characters of the length determined in the size value containing random characters.
  • This version includes many small fixes to the Recorder. We are still tracking a problem where the Recorder fails to connect to a host when using Basic authentication. If you notice problems using the Recorder then then please send an email to users@lists.pushtotest.com.

 

TestMaker 4.0.5

  • The Recorder now checks to see if browser activity was actually observed. If not, it displays an error alert indicating that no script will be saved and asks the user to check their browser proxy settings. Thanks to Mazen Sheblak for suggesting this change.
  • The Recorder now works with proxy servers. Use the Help -> Preferences -> Recorder command to set the proxy server address and port number. A check-box tells the Recorder to use the proxy. You must restart TestMaker to make the new settings active.
  • The HTTPProtocol class is improved to more easily support private digital certificates for secure communication with hosts using SSL and HTTPS. See the updated HTTPS_Connect.a sample test agent to learn about the improvements. Thanks to Carl Rehbein (rehbein@dragoweb.com) for contributing this patch.
  • The TestNetwork StatusFrame is now a free-floating window that may keep it open at any time. Additionally, the utility to define new test scenarios integrates the many separate user interface panels in previous versions into one dialog. See TestNetwork for details.

 

TestMaker 4.0.4

  • Added quick command bar below test agent script editor that features buttons to clear the contents of the output panel, start the Recorder, and to find strings in test agent scripts.
  • Find command added (keyboard equivalent/accellerator = Control F)
  • Added TestMakerGui script variable so test agent scripts can control the TestMaker gui itself. For example, TestMakerGui.doClearOutput() programatically clears the Text Output panel.
  • TestNetwork client is now fully functional. See TestNetwork for details.

 

 

TestMaker 4.0.3

  • Fixed a problem that caused TestMaker to throw a jExplorer exception on Mac OS X systems depending on the last saved state of the file navigator in the Explorer panel. Also fixed an Explorer panel problem where a testmaker.properties file moved from one machine to another would cause TestMaker to throw an exception. Both problems are fixed.
  • Test agent scripts created by the Recorder did not instantiate the "error" variable correctly. This causes playback scripts to fail on when the host responds with an error. This is fixed.
  • TestNetwork client is now functional - but not yet feature complete. TestMaker 4.0.3 ships with the code but the TestNetwork feature is disabled. See http://www.pushtotest.com/ptt/TestNetwork/index.html for information on TestNetwork.
  • Saved preferences would not save default font. Fixed.
  • Start-up messages now display the TOOL version number on start-up
  • Temporarily disabled the syntax highlighting feature in the script editor. We just did not have enough time to find and solve a problem that causes TestMaker to throw exceptions for files longer than 800 lines. Any volunteers?
  • scriptpath is a system variable containing the path to the currently running script. See the gestault.a sample test agent for an example. In TestMaker 3.3 and earlier, scriptpath contained only the path to the directory. TestMaker 4.0 changed this to include the path to the agent script file. This change breaks the WebLogic Performance Kit (http://www.pushtotest.com/ptt/kits/index.html) and others. TestMaker 4.0.3 changes scriptpath to contain only the path to the directory. Also, a new system variable named scriptfull now contains the path to the agent script file. Thanks to Ralf Hauser (ralfhauser@gmx.ch) for finding this bug.

(In case you were wondering, TestMaker 4.0.2 was an internal release to use the new TestNetwork code for a customer datacenter certification project. See Chapter 15 of Push To Test, Java Web Development and Test Automation for details.)

 

TestMaker 4.0.1 Final

  • Fixed a problem where the Recorder would stop functioning when processing a HTTP Post transactions. The Recorder now functions correctly.
  • Test agent scripts created with t he Recorder had a few syntactical errors. For example, the transaction-per-second result value actually showed transactions-per-millisecond. These are fixed. Thanks to Jim Homan for pointing them out.
  • The New Agent -> HTML Agent did not automatically insert a command to set the call type to POST. This is fixed. Thanks to Jim Homan for pointing this out.
  • The New Agent -> HTML Agent included the URL form parameters in the URL. The new software does not do this.

 

TestMaker 4.0 Final

Remaining known problems

  • Some warning and error messages appear in the shell that launched TestMaker. All
    messages should appear in the TestMaker graphical interface.
  • Intermittent syntax highlighting problems. This is purely a cosmetic bug and does not effect test agent performance and functionality.
  • TestNetwork client functionality is not yet complete. Instead, it shows what is to come and displays an alert indicating the feature is not yet complete. Details on TestNetwork are found in a free whitepaper at: http://downloads.pushtotest.com/TestNetworkOverview.pdf Our plan is to release TestMaker 4.0.1 with the TestNetwork client functionality implemented. However, keep in mind that the TestNetwork servers (called TestNodes) are proprietary and commercially licensed products from PushToTest.

 

Things we would like to see improved in future TestMaker

  • Preference setting: "Clear output when before running an agent."
  • File changed (*) indicator in tabs in Editor window.
  • Add icons to menu bar entries, see http://developer.java.sun.com/developer/techDocs/hi/repository/
  • Add spinning icon during busy times (for example, while operating the New Agent Wizard)
  • Nice printing with http://www.fawcette.com/javapro/2002_12/online/print_kgauthier_12_10_02/default_pf.asp
  • Pop-up menu to close and refresh opened agent script
  • New save as reminder agents end in .a
  • Output panel clear command
  • How many concurrent copies of this script to run?
  • Find/Replace function for the editor
  • Tab and Shift Tab indent/outdent selected block of script
  • Stopping an agent auto selects another agent in the Running Agent list
  • Multiple selections in Running Agent List
  • Standard error alert message instead of System.out.println
  • Save as asks user before replacing an existing file
  • Write LogHandler, DBHandler, HTMLHandler, NotificationHandler, ControlHandle

 

TestMaker 4 beta 4

  • Colors and Font Preferences - Users may choose the font and colors used in the script editor from the Help -> Preferences dialog box. The Colors tab in the Perferences Dialog box displays a color picker. The Fonts tab shows the available fonts, styles and sizes.

 

TestMaker 4 beta 3

  • HTML Agent Recorder: TestMaker now comes with an Agent Recorder. The new Agent Recorder watches you drive a Web application using your browser and writes a test agent script for you. The test script is fully functional and mounts a transactions-per-second test. The new Agent Recorder function appears in the File -> New -> HTML Agent Recorder menu command. The Help -> Preferences dialog box now includes a Recorder tab to set the port number of the proxy service for the Agent Recorder. By default, the proxy port is 8090. You need to tell your browser to use the proxy port for the record to function. The Agent Recorder does not support HTTPS connections. Most of this new function is contributed from the MaxQ open-source project.

 

TestMaker 4 beta 2

  • Documentation updated for TestMaker 4. The testmaker_home/docs directory and the docs.pushtotest.com site are now up-to-date.

  • Recent Agents menu included entries titled Recent Agents. Fixed.


Document Actions