Skip to content

Mark59 is a Java-based framework providing a 'CI' based set of tools that enables the tracking of Performance Test results over time, split JMeter report into logical groups, a simple solution to assist with metrics capture and allow Selenium to be incorporated into JMeter scripting

License

Notifications You must be signed in to change notification settings

mark-5-9/mark59

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mark59 Guides, Downloads and More ..

Available at the https://www.mark59.com website

Releases

Release 6.1

  • Bug/Enhance: Cater for html links within Run Comments on Trends Graphic
  • Bug/Enhance: Improved handling of exceptions in the Selenium and Playwright Interator classes
  • Dependencies Updated: spring-boot to 3.3.2, selenium to 4.23.0 (to chrome v127), playwright to 1.45.1

Release 6.0

  • Changes since Release 5.7:

  • Scripting. Playwright has been introduced as a UI scripting alternative to Selenium.
    Most changes for this release are consequences of this.
  • Maven dependency mark59-selenium-implementation renamed to mark59-scripting
  • Sample Project Changes (used in the 'Quick Start' guides):
    • sample project renames
      • mark59-datahunter-samples to mark59-scripting-samples
      • mark59-dsl-samples to mark59-scripting-sample-dsl
    • Database commands updated to reflect new sample scripts
      PG and MYSQL conversion scripts included in /databaseScripts folder
      (optional - are only required to be executed in order to run 'Quick Start' steps when using those DBs)
    • Playwright samples scripts added to /bin folder
    • Refer to the Mark59 documentation (especially the 'Quick Start' guides) for full details
  • Selenium drivers have been removed from the mark59 download zip file (will now always need to be added to run Selenium)
  • Dependencies Updated: JMeter to 5.6.3, spring-boot to 3.2.3, selenium to 4.18.1 (to chrome v122)
  • Dependency Added: playwright 1.41.2 (documented as being tested on chome 120/121. In our testing it appears to run well on chrome 122)
Summary of Changes with Potential Incompatibilities For this Release

note most of these are relatively small changes mostly relating to implementing Playwright.
  • When you update pom entries for your mark59 projects, the com.mark59 dependency changes from mark59-selenium-implementation to mark59-scripting, as well as changing the version to 6.0
  • Also, org.apache.jmeter dependencies should go to 5.6.3
  • Multiple classes in mark59 have be have their package names changed
    in particular for selenium scripts, com.mark59.selenium.* to com.mark59.scripting.selenium.*
    - In an IDE 'Organize Imports' (ctl-shift-O in Eclipse) should automatically resolve for most classes.
  • org.openqa.selenium.devtools to v122.* for Selenium CDP usage.

Release 6.0-beta-2

  • Refine Playwright Options for Scripting
  • Scripting samples moved to mark59-scripting-samples, mark59-scripting-sample-dsl
  • Creation of Playwright jmx and work or samples
  • Multiple improvements to Beta-1 code and javadocs

Release 6.0-beta-1

  • Introduction of Playwright Scripting (Beta)
  • mark59-scripting to replace mark59-selenium-implementation
  • Mark59 Web Applications and Apis are unaffected (except for version numbering).

Release 5.7

  • Scripting - JMeterFuntions: new set of Transaction Rename and Transaction Delete methods
  • Trends - new Application copy (copy/delete for rename) function on Application Dashboard.
  • Trends - new Application Ids are restricted to containing alphanumerics, dots, dashes and underscores.
  • Trends - tidy up selectors on Trends Graphic UI.
  • Bug: Title link in Datahunter corrected to point to Overview page
  • Bug: Correct sample test plan DataHunterLifecyclePvtScriptUsingApiViaHttpRequestsTestPlan to use /api/policiesBreakdown
  • Bug: Metrics (MAC only) H2 sample database was missing entries to capture CPU Memory and CPU (used in the Quick Start Demo)
  • Minor tidy up of JavaDocs and Selenium sample scripts.
  • Dependencies: spring-boot to 3.2.0, selenium to 4.15.0 (to chrome v119), org.json to 20231013
Summary of Changes with Potential Incompatibilities For this Release.
  • H2 Database format has changed

    This is due to an update in the underlying SpringBoot framework changing the version of H2 from 2.1 to 2.2. If you have existing H2 databases from running the Mark59 Quick Start Demo previously (which uses H2), you will see an error on start-up of affected Mark 59 Web Applications when using H2 similar to:

    org.h2.jdbc.JdbcSQLNonTransientConnectionException: Unsupported database file version or invalid file header in file "C:/Users/{userid}/hunter.mv.db"

  • The solution is simply to delete all existing H2 database file stores. They are re-created when you run the demo next time.

    If for some reason you wish to restore the data in your H2 database(s), please refer to
    https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2.0-Release-Notes#h2-version-22

Release 5.6

  • Java 11 is now minimum required version for Maven Central projects (core, selenium-implementation, dataHunter-api).
  • DataHunter UI: New Download/Upload functions for Items. Item selection for download is done from the Manage Multiple Items UI option (/print_selected_policies), and a new UI option 'Upload Items File'.
  • DataHunter UI and Rest Api: For Multiple Item Selection and Multiple Item Deletion, Several new (optional) 'additional filters' have been added
  • DataHunter UI and Rest Api: For Item Selection, a default of 100 Item are listed. An option to set the number of records returned in the list is included, with a maximum of 1000
  • DataHunter UI: Navigation Bar added
  • DataHunter UI: Overview Page added. A summary of the Mark59 User Guide Documentation for DataHunter (includes Rest API working samples)
  • DataHunter UI and Rest Api: 'Update Use State' function includes an optional filter on Lifecycle
  • Web Applications Overview Documentation improved/added
  • Dependencies: opencsv to 5.8, spring-boot to 3.1.4, selenium to 4.14.1 (to chrome v118, Java 11+ required)
Summary of Changes with Potential Incompatibilities For this Release

- note most of these are relatively small changes relating to the upgrade of DataHunter and in most situations should not any cause issues.
  • However, for ALL applications, application keys are now truncated to remove leading and trailings whitespace.
    Please remove whitespaces or substitute with other values for such keys you already have (will need to be done via a database update).
  • DataHunter UI: Url /count_policies_breakdown changed to to /policies_breakdown
  • DataHunter Rest API: URL/api/countPoliciesBreakdown changed to /api/policiesBreakdown, Client Java method countPoliciesBreakdown renamed to policiesBreakdown
  • DataHunter UI: Url /print_selected_policies changed to /select_multiple_policies
  • DataHunter UI and Rest API: 'Update Use State' functions now includes a (optional) lifecycle parameter
  • DataHunter UI: Delete Multiple Items is now handled as an option within Manage Multiple Options JSP
  • DataHunter UI: retention of key parameters across functions (potential to cause issues if the UI has been scripted).
  • DataHunter UI: the 'Use Next Item' Function, now also updates REUSABLE items to USED (previously left them unchanged)

Release 5.5

  • Backward incompatibilities with previous 5.x JMeter releases resolved
    (tested on JMeter 5.5, 5.6.2)
  • Fix JUnit tests in the build (some tests where not being executed)
  • Sample script DataHunterLifecycleScriptUsingRestApiClient renamed to DataHunterLifecyclePvtNoSeleniumUsesRestApi and now includes example of async processing via Api
  • Include a FluentWaitVariablePolling class in dsl samples, usage demonstrated in DataHunterLifecyclePvtScript sample script
  • Dependencies: JMeter to 5.6.2, spring-boot to 3.1.2, selenium to 4.11.0 (to chrome v115)

Release 5.4

  • This release was built and tested using JMeter 5.5.
    There are incompatibilities with the recently released 5.6 version of JMeter, so please deploy to JMeter 5.5.
    We plan to work on a JMeter 5.6 compatible version of Mark59 as a priority for our next release.
  • Metrics - PowerShell option added.
  • Metrics - SSH Private/Public Key authentication option added for Linux/Unix connections.
  • Metrics - Parameters (string substitution) added for non-Groovy Commands and Profiles.
  • Metrics - Database Updates: Increase size of scripts allowed, reconfigured and added new samples (in particular for PowerShell and Linux SSH Keys).
    Please review databaseScripts MYSQL_mark59_v5.3_to_v5.4_conversion.sql / POSTGRES_mark59_v5.3_to_v5.4_conversion.sql
  • Metrics - (Breaking Change) Predefined variable %METRICS_BASE_DIR% has been renamed to ${METRICS_BASE_DIR}, in line with the newly added paramters format convention. Note this is only a breaking change if you have referenced it in your own WMIC scripts - the samples on the database have been updated.
  • Metrics - Multiple improvements to data-entry screens (particularly around Commands and Profiles).
  • Metrics - Logging improved. 'Actual Commmand Run' is now only provided when running directly from the Web Application.
  • Metrics - Time taken for Profile execution is shown when running directly in the Web Application.
  • Metrics - Web Application TimeOut extended to 30 min (code change).
  • Metrics - Improved documentation on the Web Application's Overview Page.
  • Java 8 Compatability - Mark59 Projects refactored so that all artefacts that are deployed to JMeter are compatable with Java 8+. Note that the Mark59 Web Applications are all built uses Java 17, and we suggest using Java 17 for JMeter instances as well if possible.
  • Multiple small improvements to JavaDocs
  • Selenium to 4.10.0 (chrome v114+), spring-boot to 3.1.0

Release 5.3

  • Java 17 minimum version for the Web Applications and their APIs (excluding DataHunter API)
  • Option to add a Basic Authentication Header to the Metrics API call
  • Selenium DSL - scrollIntoViewThenClick, scrollToCentreThenClick methods added
  • Selenium DSL - demo New Tab handling and control
  • try/catch separated for browser close and quit (reduce potential of dead chromedriver processes
  • Selenium to 4.8.1 (chrome V110+), spring-boot to 3.0.2
  • sb 3.0.2 moved sfrom javax.servlet to jakarta.servlet - required multiple updates in web applications
  • Selenium-Implementation - add --remote-allow-origins=* driver option (caters for Chrome 111)
  • Metrics - Removal of Spring Security dependency (using standard Java filter servlet)
  • DataHunter - Upload process simplified to standard Java (removal of commons and spring code)
  • Improve Metrics project JUnit testing, multiple small JavaDocs updates

Release 5.2

  • DataHunter Rest - 'otherdata' field is now optional when adding an Item
  • Selenium to 4.5.0 (chrome v106+), spring-boot to 2.7.4
  • Bug Fix: Spurious characters when using % sign in Trends Advanced selectors
  • Bug Fix: Broken links in Trends when graph is empty

Release 5.1

  • Metrics UI - Same-named Groovy parameters preserved on a Command change
  • Metrics UI - Limit on characters shown for a command on Command List change
  • LOG_RESULTS_SUMMARY JMeter parameter added to metrics api (for consistency with other logging options)
  • Metrics - default bypass of Kerberos for Nix (prevents JSch session stalling for an unconfigured implementations). See User Guide for details
  • Metrics API was producing a 'no mark59.properties' warning if run in a JMeter test with no Mark59 Selenium implementations
  • New mark59 property mark59.print.startup.console.messages. 'true' will output some basic config messages to console
  • Metrics - Improved New Relic sample (now uses okhttp). SQL 5.0 to 5.1 conversions included in Release
  • spring-boot to 2.7.3
  • Bug Fix: Metrics discontinues Nix commands immediately on connection failure (was attempting to run a command after the failure)
  • Bug Fix: An Encryption class in Metrics was not thread-safe (caused occasional dropout of Nix/Win connections during tests
  • Bug Fix: Trends Load - invalid use of DUAL in PG database when loading Loadrunner mdb Session files

Release 5.0

  • 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 mark59.log.directory renames mark59.screenshot.directory (flagged as redundant)
  • New property mark59.logname.format : formatter for log names output to the log directory
  • New property mark59.log.directory.suffix : 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 SCRIPT_NAME changed to PARSER_NAME on tables COMMANDRESPONSEPARSERS and COMMANDPARSERLINKS
    (review conversion files in the mark59 zip download databaseScripts folder for details)
  • 'SSH_LINIX_UNIX' changed to 'SSH_LINUX_UNIX' as a Command EXECUTOR option in mark59metricsdb
  • New script JMeter parameters PRINT_RESULTS_SUMMARY and LOG_RESULTS_SUMMARY 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
  • UNHANDLED_PROMPT_BEHAVIOUR 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

Release 4.2.1

  • NOTE: this is an interim release to fix a bug, and updates the selenium framework (for using chrome 102+)
  • Bug: Perflog was always empty, fixed
  • Selenium to 4.2.1 (same name as release is a coincidence)

Release 4.2

  • New DataHunter REST Api project (minor datahuner DB changes made)
  • Add Disabled flag for Transactional SLA (new column on metrics DB SLA table required)
  • Option to ignore CDP transactions on SLA Bulk Update
  • Selenium to 4.1.3, SpringBoot to 2.6.6, H2 to 2.1.210
  • Maven Plugins updated, compiler plugin expliticly declared
    - align with spring boot versioning, reduce log4j vulerabilities on security scans (2.17.2)
  • DataHunter Test Samples - Maven Dependency Plugin now excludes 'provided' dependencies
  • Truncate txnIds greater than 128 chars when loading to Trend Analysis, rather than fail
  • Code cleanup (improve readability in IntelliJ)
  • Sample DSL: ElementNotVisibleException no longer available, replaced by ElementClickInterceptedException, ElementNotInteractableException,InvalidElementStateException

Release 4.1

  • Fix for log4j exposure (JMeter to 5.4.3)
  • Also SpringBoot to 2.6.2, H2 to 2.0.206
  • Selenium to 4.1.1

Release 4.0.1

  • Interim workaround for the log4j exposure (CVE-2021-44228 and CVE 2021-45046)
    - Details at the mark59.com website and in the User Guide (ch 4.)

Release 4.0.0

  • Selenium dependency to 4.0.0
  • New mark59.browser.executable property
  • Legacy Server Metrics JMeter Java Requests removed
  • Metrics graphics available vars change to colon (:) prefix
  • Expanded script Main() option (csv file, summary, multiple iterations and threads)
  • JavaDocs and code scans cleanup
  • Version number to emphasize the relationship of this release to Selenium

Release 4.0.0-rc-1

  • DevTools DSL added (demonstates Selenium 4 capabilities)
  • Dependency library is now required for Selenium projects (due to Selenium 4)
  • Tidy up of demo (txns use underscores, historic data neatened, use of DevTools)
  • Sla, Metric Sla, Events JSPs neatened
  • New transactional datatype of 'CDP' (Chrome DevTool Protocol txns)
  • New Dropdown In Trend Analysis to show/hide CDP txns
  • Selenium's CdpVersionFinder to only print version warning message once
  • Allow for SLA bulk copy of transaction percentiles
  • Generally improve range of start/end transaction methods
  • Include new 'start DLS transaction' methods
  • Improve JavaDocs
  • Version number to emphasize the relationship of this release to Selenium

Release 3.3.(0)

  • Historical capture of Txn (Mocked) Delays and related Graphs
  • Simplify sample DSL project
  • More Set Transaction options
  • SafeSleep moved to core
  • Add ability to rename historical transactions in Trend Analysis
  • Trend Analysis can now capture Gatlng results (using the simulation log)
  • Capablity to ignore a test transaction failed status (Gatling and csv JMeter only)
  • Improve Links in Trend Analysis App
  • Bug Fixes For : LoadRunner data load and Fail Count SLA
  • Median captured in Trend Analysis
  • Improve JavaDocs, and more JUnit tests

Release 3.2.(0)

  • Add Emulation Network Conditions (latency and byte rates)
  • Improve validatoin for SLA data entry
  • DataHunter sample includes a 'once only' run method (out-of-date driver warning)
  • A Run can now be 'ignored' on trending graphic
  • DataHunter 'policies' now named 'items' on pages
  • Trending - show table by default
  • Include computation and graphics for 95 and 99th percentiles
  • Groovy scripting for mark59-metrics (required db changes)
  • Plugin dependenices updated to latest versions
  • Dependenices update (inc SpringBoot 2.4.5, JMeter 5.4.1)
  • Improve JavaDocs, fix typos etc

Release to 3.1

  • minor release - please just use 3.2

Release to 3.0.(1)

  • Default port for Trends Analysis changed from 8080 to 8083
  • Sample projects updated, docker-compose files added to allow for the Jenkins Docker Sample

Release 3.0.(.0)

  • New project: mark59-metrics. Significant upgrade of server metric capture in mark59.
  • Project rename: dataHunterPVTest to dataHunterPerformanceTestSamples
  • Rename MySQL database pvmetrics to metricsdb (naming consistency across projects)
  • All project can use the h2, MySQL and Postgres database (enable quick start-up for demo and learning)
  • Align bat files to new download structure (a single zip file with all projects)
  • Using OpenCSV for csv reads/writes (some edge case issues found using exists methods)
  • To JMeter_Java 5.3 , multiple dependency jar updates (confirmed working to chromedrver 85)
  • Display mark59 build info on JMeter Java Request panels
  • Multiple small changes and code clean-up

Release 2.3.(0)

  • Just a 'dry run' for Release 3.0

Release 2.2.(0)

  • Transactions reported instead of being lost if Chrome crashes during a Selenium test.
  • "Functional" DataHunter selenium test and related DSL removed from the dataHunterPVTest project, and placed in its own project on the mark59-extras repo.
  • Basic sample script added to dataHunterPVTest (DataHunterBasicSampleScript).
  • DataHunter and Metric war files can now be deployed to a Tomcat server (as well as executing as a SpringBoot app).
  • add a"reference" table to datahunterdb creation ddl (just a convenience table - not referenced by DataHunter)
  • Many jar dependecies updated (including Spring and H2):
    As a consequence, if you have an existing H2 store, you may get an error like
    " Unsupported type 17 .... Unable to read the page...".
    Delete the H2 store to fix (will be called test.mv.db, ususally within the User or current directory folder)

Release 2.1(.1)

  • Improve Event Selection Ordering
  • Fix Transaction Type to a Metric Type Mapping

About

Mark59 is a Java-based framework providing a 'CI' based set of tools that enables the tracking of Performance Test results over time, split JMeter report into logical groups, a simple solution to assist with metrics capture and allow Selenium to be incorporated into JMeter scripting

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published