JMeter Environment

System Properties

When Testable runs your test plan it will pass a few extra system properties to give you the context from which you are executing.

  • execution: The unique ID of this test case execution.
  • region: The name of the region in which the test plan is executing (e.g. aws-us-east-1).
  • jmeter_instances: The total number of JMeter instances running within your test.
  • global_instance_index: A unique identifier for each JMeter instance within the execution. Starts at 0.
  • regional_instance_index: A unique identifier for each JMeter instance within this region of the execution. Starts at 0.
  • chunk: Each test runner instance is assigned a unique chunk ID.
  • client: Within each chunk, a unique ID for the JMeter instance executing your test. Starts at 0.
  • testable_id: A unique ID for this iteration of your test plan that is guaranteed to be globally unique. It is a combination of the above properties (e.g. 639:aws-us-east-1:640:1:2)
  • files_dir: The local directory where all files uploaded to this test case can be referenced in your test plan. So for example if you had uploaded users.csv you could read from it using ${__P(files_dir)}/users.csv.
  • output_dir: A local directory to output any files you want to collect as part of the test results. The contents of this directory will only be captured once or twice a minute, not on every iteration of the test plan if the test plan is very short.
  • chromedriver: Full path on the test runner to the latest version of chromedriver.
  • test_conf_name: The configuration name of this test.
  • test_case_name: The case name of this test.
  • scenario_name: Scenario Name of your test.

Referencing Uploaded Files

As mentioned in the System Properties section above, use the files_dir system property to locate any file you uploaded on the local system executing your test plan.




Parameterize your scenario and use it across many test configurations . Parameters are passed to your JMeter test plan runtime as JMeter properties (i.e. -J options) and can be referenced using the ${__P(paramName,defaultVal)} syntax.

This can be useful for controlling the number of threads, duration, ramp up time, etc.

Read more about scenario parameters here.