Jmeter Hotkeys

Shortcuts: Basics

Windows Shortcuts macOS Shortcuts Name Description
File Operations
Ctrl + O Cmd + O Open File Opens a dialog to load a test (JMX file) from the file system
Ctrl + S Cmd + S Save Saves the current test plan to the open file
Ctrl + Shift + S Cmd + Shift + S Save All Saves all open test plans and modified files
Ctrl + Q Cmd + Q Exit Exits JMeter GUI (with confirmation if there are unsaved changes)
Ctrl + W Close Current Test Closes the currently open test plan (in macOS the shortcut does not work)
Edit / Helper
Ctrl + C Cmd + C Copy Copies the selected test plan element to the clipboard
Ctrl + Shift + C Cmd + Shift + C Duplicate Node Creates an exact copy of the selected test plan node (Duplicate Node)
Ctrl + X Cmd + X Cut Cuts the selected element to the clipboard (Cut)
Ctrl + V Cmd + V Paste Pastes the clipboard contents into the current test plan
Delete Delete Delete Node Deletes the selected node from the test plan tree
Ctrl + F Ctrl + F Function Dialog Opens Function Helper Dialog — a reference for JMeter functions with parameters and examples
Debug / Info
Ctrl + D Ctrl + D Debug Off Toggles the selected element's logging level to INFO (disables debug mode)
Ctrl + Shift + D Ctrl + Shift + D Debug On Toggles the selected element's logging level to DEBUG (enables debug mode)
Ctrl + M Ctrl + M SSL Manager Opens SSL Manager to configure javax.net.ssl.keyStore parameter (manage SSL/TLS certificates)
Ctrl + W Node Class Outputs GUI and Test Element class information for the selected node to the console (in macOS the shortcut has been removed)

Shortcuts: Test Control

Windows Shortcuts macOS Shortcuts Name Description
Run / Stop
Ctrl + R Cmd + R Run Test Runs the current test plan in GUI mode
Ctrl + Shift + R Cmd + Shift + R Remote Start Runs the test plan on all remote workers (Remote Start)
Ctrl + Shift + N Cmd + Shift + N Run Without Delays Runs the test plan ignoring Wait (Pause) elements between components
Ctrl + . Cmd + . Stop Test Stops the current test plan execution (Graceful Stop)
Ctrl + , Emergency Stop Force stops and terminates the test (Shutdown Test, does not work in macOS)
Alt + X Remote Stop All Sends stop command to all remote workers (Remote Stop All)
Alt + Z Remote Shutdown Sends emergency stop command to all remote workers (Remote Shutdown All)
Display / Structure
Ctrl + E Cmd + E Clear Results Fully clears all test run results (Clear All Run Results)
Ctrl + Shift + E Cmd + Shift + E Clear Selected Clears run results only for the selected element (Clear Selected)
Ctrl + T Cmd + T Toggle Element Toggles the state of the selected element (Enable / Disable Test Element)
Ctrl + G Cmd + G Node Screenshot Creates a screenshot of only the selected element's GUI (Make a screenshot of selected node)
Ctrl + Shift + G Cmd + Shift + G JMeter Screenshot Creates a screenshot of the entire JMeter GUI interface
Ctrl + - Cmd + - Collapse All Collapses all nodes in the test plan tree (Collapse All, does not work in macOS)
Ctrl + Shift + - Cmd + Shift + - Expand All Expands all nodes in the test plan tree (Expand All, does not work in macOS)
Ctrl + F1 Functions / Help Alternative call to Function Helper Dialog (Open Function Helper Dialog)
Ctrl + ? Cmd + ? Open Help Opens JMeter contextual help (Open Help, does not work in macOS)

JMeter Commands (CLI / Non-GUI)

Command Name Description
Running Tests
jmeter -n -t test_plan.jmx -l result.jtl Run Test Non-GUI test plan execution. Flag -n specifies non-GUI mode, -t is the test path, -l is the results log file path
jmeter -n -t test_plan.jmx -e -o ./reports -r Run + Report Non-GUI execution with HTML report generation to the specified directory. -e enables report generation, -o is the report folder path
jmeter -n -t test_plan.jmx -r -Jserver.port=1099 Remote Run Run on all remote RMI workers (-r = run all remote hosts). Can specify specific hosts via -R host1,host2
jmeter -n -t test_plan.jmx -Dhttp.port=8080 JVM Property Passing a JVM property at startup. Used to configure Java parameters (e.g., port, encoding, proxy)
Report Generation
jmeter -g result.jtl -o ./report_dir -e HTML Report Generate HTML Dashboard report from an existing JTL results file. Creates interactive reports with charts
jmeter -g result.jtl -o ./report_dir -t template.html Report with Template Generate HTML report using a custom HTML template instead of the default JMeter template
jmeter -g result.jtl -o ./report_dir --csv input.csv CSV Parameters Generate report with additional CSV data. Allows adding custom parameters to the report
jmeter -g result.jtl -o ./report_dir --include-sampler sampler_name Include Sampler Filter report — includes only specified samplers by name in the report. Useful for large tests with many requests
Validation / Conversion
jmeter -g result.jtl -o ./report_dir --jtl-format 2.1 JTL Format Specifies JTL file format for backward compatibility (format 2.1, 2.2, 2.3, 3.0, etc.)
jmeter --validate -t test_plan.jmx XML Validation Validates the test file against the JMeter scheme without running. Returns validation errors to console
jmeter --testplan-conf mode:validate -t test_plan.jmx Plan Validation Validates the test plan by checking all references, functions, and configurations

JMeter Functions (Function Helper)

Function Syntax Name Description
String Operations
${__EscapeChars(string)} Escape Escapes special characters in a string for use in XML/JSON
${__EscapeChar(char, flag)} Escape Character Escapes a specific character according to the given flag. Useful for dynamic string formatting
${__UnEscapeChars(string)} Unescape Reverse operation — unescapes escaped characters in a string
${__unescape(string)} Minus Unescape Unescapes escape characters (alternative function name). Supports callback without arguments
${__substring(string, begin, end)} Substring Extracts a substring from the string at specified positions (begin — start index, end — end index)
${__replace(string, pattern, replacement)} Replace Substring Replaces substrings matching regex-pattern with replacement. Regular expressions are supported
${__replaceFirst(string, pattern, replacement)} First Match Replaces the first found regex pattern match. Used in report templates and parsing
${__toBase64(string)} Base64 Code Encodes a string to Base64 format. Used for encoding authorization headers
${__fromBase64(base64_string)} Decode Decodes a string from Base64 format. Useful for decoding tokens and parameters
${__toBytes(string)} To Bytes Converts a string to a byte array. Used for binary data in requests
Dates and Time
${__time(yyyy-MM-dd HH:mm:ss,)} Time (Format) Returns the current date/time in the specified Java SimpleDateFormat format. Empty second argument — variable is not saved
${__timeShort(,)} Short Date Format: yyyy-MM-dd. Alternative to __time with fixed format for short dates
${__timeLong(,)} Full Date Format: yyyy-MM-dd HH:mm:ss. Alternative to __time with fixed format for full dates
${__timeOffset(,1)} Offset Returns time with offset. Second argument — milliseconds (positive/negative offset)
${__date(pattern,)}${__date(pattern,)}${__date(,)}${__date(pattern,)} Date (Universal) Universal date function. Supports all Java Date Format formats. Can save the result to a variable
${__counter(0,false)} Counter Global counter. First argument — start value (0), second — true for unique per thread
${__counterUUID,} UUID Counter Generate unique ID based on counter. Ensures sequential numbering without collisions between threads
Random Values
${__Random(1,100,)} Random Number Generates a random number between min and max. Third argument — variable name to store the result
${__RandomString(10,a-z,)} Random String Generates a random string of specified length from given characters (length, character set, variable)
${__RandomFromValue(value1|value2|value3,)} Random from List Chooses a random value from a pipe-separated list. Used for request parameters
${__RandomInt(min,max,var_name)} Random Integer Generate a random integer. Returns the result to the specified variable or directly
${__UUID,} UUID Generates a unique UUID v4 identifier. Used for creating unique test data
${__javaScript(Math.random(),)} JavaScript Math JavaScript random number generator. Can use any Math functions for variety
Variables
${__P(property_name,default)} System Property Gets a JVM system property value. If property not found — returns the default value
${__groovy('hello')} Groovy Script Execute Groovy script. Allows performing arbitrary calculations on Groovy directly in the test
${__javaScript(expression,var_name)} JavaScript Script Execute JavaScript expression in Java (Nashorn). Supports all JS functions: Math, Date, String, etc.
${__groovy(use, import)} Groovy Groovy function for complex processing. Supports library imports and full programming
${__Jexl3(expression,)} Jexl3 Expression Apache Jexl3 expression. Supports operators, functions, string operations. Alternative to __javaScript