Mark59 Version 5.0 is now AvailableThis is a major release with significant updates. See the Downloads section for more details

Mark59 Logo

Mark59 Performance and Volume Testing Framework

background image courtesy wickipedia: Exorcism_of_the_Gerasene_demoniac


The Mark59 Performance and Volume Framework simplifies JMeter performance testing via automated test execution, reporting, SLA comparison and trend analysis. Java Selenium can also be incorporated to accelerate script development.

Mark59 is an open-source Java-based framework, or more accurately a set of tools, with the aim of providing the capability of performance testing applications, particularly web-based applications, in a way that is achievable without necessarily having purely specialist performance test skills.In fact we don’t really like calling our Mark59 tooling a ‘framework’. Too often we have seen in the world of automation ‘clever’ frameworks hiding or overlaying the underlying technology, so people using them don't have a fair chance to learn the proper skills they need in the industry. Our goal is the opposite. Our simple integration of two of the most popular products in automation today, JMeter and Selenium, along with the work we have put into our examples and documentation, we hope will give Performance Testers and Automation Testers a way into each other’s world.Our tooling is intended to work in an environment where performance tests are maintainable and repeatable, perhaps being triggered from a Continuous Integration server such as Jenkins. We hope our Docker samples and guide can assist with picking up these important skills. Mark59 is perfectly targeted for a project team working using practices that have become popularised since we first started this project as DevOps. It is built to run on Windows or Linux-based operating systems.

Sample Screens:


Select the appropriate zip version to download the executable jar files and samples. Linux and Windows compatible.As of Mark59 v3+ all projects are contained in a single zip file.If you are looking for the source code, see:

Current (240 MB)Release Summary:Version 5.0Significant changes for this release:

Change project, URL and database URL names. This is intended to be once-off change :) . Web application Urls context path changes

  • /dataHunter to /mark59-datahunter

  • /mark59-server-metrics-web to /mark59-metrics

  • /metrics to /mark59-trends

Database Renames (review conversion files in the mark59 zip download databaseScripts folder)

  • datahunterdb to mark59datahunterdb

  • mark59servermetricswebdb to mark59metricsdb

  • metricsdb to mark59trendsdb

mark59-metrics (ex mark59-server-metrics-web) properties renamed

  • mark59servermetricswebuserid to mark59metricsid

  • mark59servermetricswebpasswrd to mark59metricspasswrd

  • mark59servermetricswebhide to mark59metricshide


  • New property renames (flagged as redundant)

  • New property mark59.logname.format : formatter for log names output to the log directory

  • New property : log directory suffix (a local 'date' or 'datetime')

  • Mark59 logs types can be disabled on script exception

  • Filter for CDP markers on results splitter for Transactions Report

  • JMeter to 5.5, Selenium to 4.4.0 (chrome104+), H2 to 2.1.214, spring-boot to 2.7.2, groovy to 3.0.11

  • Improved error handling and logging in the mark59-metrics application

  • mark59metricsdb (ex mark59servermetricswebdb) database column name SCRIPTNAME changed to PARSERNAME on tables COMMANDRESPONSEPARSERS and COMMANDPARSERLINKS

  • (review conversion files in the mark59 zip download databaseScripts folder for details)

  • 'SSHLINIXUNIX' changed to 'SSHLINUXUNIX' as a Command EXECUTOR option in mark59metricsdb

  • New script JMeter parameters PRINTRESULTSSUMMARY and LOGRESULTSSUMMARY flag if Transaction Results Summary should be printed (to console)/logged during JMeter execution

New DataHunter API Samples: Direct API httprequest access in JMeter, and same logic repeated using the Java API Client:

  • DataHunterLifecyclePvtScriptUsingApiViaHttpRequestsTestPlan.jmx replaces DataHunterHttpTestPlan.jmx

  • New sample script DataHunterLifecyclePvtScriptUsingRestApiClient


  • DataHunter file upload changed from in-memory to streaming API, allowing for large file uploads

  • UNHANDLEDPROMPTBEHAVIOUR options added for selenium scripting

  • Breaking Change : some internal class name changes may affect you if you have used a Groovy jsr223 as a Mark59 selenium script.

  • Please review DataHunterBasicSampleScriptJSR223Format in the mark59-datahunter-samples project

  • Improve Mac useability: 'Quick Start' Guide can be executed on Mac

Previous (277.4 MB)Release Summary:Version 4.2.1Significant changes for this release:

  • this is an interim release to fix a bug, and updates the selenium framework (for using chrome v102+)

  • Bug: Perflog was always empty, fixed

  • Selenium to 4.2.1 (same name as release is a coincidence)

View for more detailsDocumentation for the release can be found in the "Documentation" section.


Our Mark59 User Guide documentation can be found below:The Mark59 User Guide for Version 4.pdf v4.2.1 (4 MB)
Note: the Version 5.0 documentation is coming soon
Get a feeling of how it works in a few minutes by going through the 'Quick Start' chapters.


The Background to Mark59

Mark59 started from some ideas conceived over 7 years ago and has since developed to our latest Version 4 release. It was developed by a team of working Performance and Volume testers at the Australian Insurance Company IAG in Melbourne. Our team, more out of necessity to maintain multiple and varied applications, over time changed practices from a traditional way of testing to something very similar to what is now called Dev Ops, and created a set of tools on the way that has become Mark59.A core team has worked on the project for most of its life, but many, many ideas came from the excellent Performance Testers that have been part of the team over the years. Not to mention (the sometimes rather blunt but valuable) feedback we have received from our client projects and others. We hope we haven't missed too many from the acknowledgements, but great ideas and suggestions have come to us from many, so we fear we have.

The People

The Core Team:

  • Philip Webb

  • Dhivya Raghavan

  • Greg Johnstone

Major Contributors:

  • Michael Cohen

  • John Gallagher

  • Sanman Basavegowda

  • David Nguyen

  • Edmond Lew

Grateful Acknowledgements:

  • Stephen Townshend

  • Srivalli Krishnardhula

  • Pankaj Harde

  • Mallamma Ganigi

  • Gaurav Shukla

  • Nikolai Chetverikov

Our Banner and the name 'Mark59'

The banner is part of a medieval illumination of the Gerasene demoniac exorcism, courtesy wickipedia: ExorcismoftheGerasenedemoniacThe biblical story of the 'Exorcism of the Gerasene demonic' appears in the New Testament in all of the synoptic gospels (Mathew, Mark and Luke), but the most well known account is from Mark's gospel. At a critical point in the story Jesus challenges the demon in a possessed man to name itself, and discovers he is not facing one demon but many when the famous reply comes "My name is Legion, for we are many" (Mark 5:9).We couldn't help relating our (admittedly trivial) struggles with turning a single Selenium script into many with this wonderful story, and so ''.


You can contact us to give suggestions or feedback via the form below.
Note that we are a small working team, but we will do our best to respond.