Skip to content

perf-autocorrelator-pro

perf-autocorrelator-pro takes a HAR file captured from a browser and generates a fully runnable performance test script with automatic extraction and correlation of dynamic values (session tokens, CSRF tokens, view state, etc.).

TierPrice
Basic£59 one-time
Pro (web UI, AI detection, OAuth/GraphQL/enterprise patterns)£99 one-time

Platforms: Linux x86_64, Windows x86_64

Converts a HAR file into a complete runnable script:

Terminal window
# JMeter
perf-autocorrelator-pro generate session.har --tool jmeter -o load-test.jmx
# k6
perf-autocorrelator-pro generate session.har --tool k6 -o load-test.js
# Gatling
perf-autocorrelator-pro generate session.har --tool gatling -o src/test/scala/LoadTest.scala

correlate — Add extractors to existing script

Section titled “correlate — Add extractors to existing script”

Adds correlation extractors to a script you’ve already written:

Terminal window
perf-autocorrelator-pro correlate \
--script existing-test.jmx \
--har session.har \
--tool jmeter \
-o correlated-test.jmx

The tool detects and correlates over 50 dynamic value patterns:

PatternDetection Method
Session cookiesCookie header analysis
Bearer tokensAuthorization header
CSRF tokensForm field names (_token, csrf_token, __RequestVerificationToken, etc.)
View stateASP.NET __VIEWSTATE
Anti-forgery tokensCommon framework patterns
OAuth tokensaccess_token, refresh_token in JSON responses
API keys in responsesJSON key name heuristics
JSESSIONID / PHPSESSIDServer-set cookies
GraphQL variablesOperation variables extraction

Each detected correlation becomes an extractor in the output script. For JMeter: regex/JSON extractors + variable references. For k6: jsonPath() extractions + vars object. For Gatling: .check(jsonPath(...).saveAs(...)).

By default, think times from the HAR are preserved in the output:

Terminal window
# Disable think times (for maximum load generation)
perf-autocorrelator-pro generate session.har --tool k6 --no-think-times -o test.js
# Scale think times (e.g., 50% of recorded)
perf-autocorrelator-pro generate session.har --tool k6 --think-time-factor 0.5 -o test.js

Requests that occur within a configurable time window (default: 50ms) are grouped as parallel in the output:

Terminal window
# Adjust parallel window
perf-autocorrelator-pro generate session.har --tool jmeter --parallel-window 100 -o test.jmx

JMeter: parallel requests become a Parallel Sampler group. k6: Promise.all([...]). Gatling: .resources(...).

Chrome / Edge: F12 → Network tab → record your user journey → right-click → “Save all as HAR”

Firefox: F12 → Network → gear icon → “Save All As HAR”

Playwright (for automated capture):

const { chromium } = require('playwright');
const fs = require('fs');
const browser = await chromium.launch();
const context = await browser.newContext({ recordHar: { path: 'session.har' } });
const page = await context.newPage();
// ... navigate
await context.close();

Web UI: Local web dashboard for reviewing correlations, toggling extractors, and previewing the output script before export.

AI Detection (Pro): Uses pattern matching with machine learning weighting to detect non-standard correlation patterns not covered by the 50+ built-in rules.

OAuth 2.0 support: Full support for authorization code flow — captures code, exchanges for access_token/refresh_token, and generates the complete OAuth script including token refresh.

GraphQL: Extracts operation names, variables, and response fields. Groups related operations.

Enterprise patterns: SAP Fiori, Salesforce platform events, custom header propagation.

Terminal window
export PERF_AUTOCORRELATOR_LICENSE=your-license-key
# or
perf-autocorrelator-pro generate session.har --license your-key --tool k6 -o test.js