id = "jmeter" name = "Apache JMeter" description = "Load testing tool for web applications and services." homepage = "https://jmeter.apache.org" executables = ["jmeter"] [commands] format = 1 label = "Run a test plan" description = "Run a .jmx test plan, usually in non-GUI mode, and write results and a report. Proxy, remote and property flags are left out." quality = "ai-draft" base = "fig:jmeter" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "src" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/jmeter.ts" license = "MIT" [[commands.field]] id = "testfile" label = "Test plan (.jmx)" type = "path" option = ["-t", "--testfile"] path = { kind = "file", role = "input", must_exist = true } sources = ["src"] [[commands.field]] id = "nongui" label = "Non-GUI mode" description = "Run JMeter without the GUI." type = "boolean" option = ["-n", "--nongui"] sources = ["src"] [[commands.field]] id = "logfile" label = "Results file" description = "File to log samples to." type = "path" option = ["-l", "--logfile"] path = { kind = "file", role = "output", must_exist = false } effect = "overwrite" sources = ["src"] [[commands.field]] id = "jmeterlogfile" label = "Run log file" type = "path" option = ["-j", "--jmeterlogfile"] path = { kind = "file", role = "output", must_exist = false } sources = ["src"] [[commands.field]] id = "force_delete" label = "Delete existing results" description = "Force delete existing results files and web report folder." type = "boolean" option = ["-f", "--forceDeleteResultFile"] effect = "delete" sources = ["src"] [[commands.field]] id = "report_end" label = "Report after test" description = "Generate the report dashboard after the load test." type = "boolean" option = ["-e", "--reportatendofloadtests"] sources = ["src"] [[commands.field]] id = "report_folder" label = "Report folder" type = "path" option = ["-o", "--reportoutputfolder"] path = { kind = "directory", role = "output", must_exist = false } sources = ["src"] [[commands.field]] id = "report_only" label = "Report only" description = "Generate the report dashboard only, from a results file." type = "boolean" option = ["-g", "--reportonly"] sources = ["src"] [[commands.field]] id = "propfile" label = "Property file" type = "path" option = ["-p", "--propfile"] path = { kind = "file", role = "input", must_exist = true } sources = ["src"] [[commands.task]] id = "run_nongui" label = "Run non-GUI with report" fields = ["testfile", "nongui", "logfile", "report_end", "report_folder"] required = ["testfile"] set = { nongui = [true], report_end = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["testfile", "nongui", "logfile", "report_end", "report_folder"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["jmeterlogfile", "force_delete", "report_only", "propfile"]