JMeter 目录结构
当你解压 JMeter 的压缩包后,你会看到以下主要目录和文件:
1. bin: 包含用于启动 JMeter 的脚本文件。
jmeter.sh
: 在 Linux 和 macOS 上用于启动 JMeter 的脚本。jmeter.bat
: 在 Windows 上用于启动 JMeter 的批处理文件。jmeter.properties
: JMeter 的配置文件,包含各种设置选项。user.properties
: 用户定义的配置文件,用于覆盖jmeter.properties
中的设置。jmeter-server.sh
和jmeter-server.bat
: 用于启动 JMeter 作为远程代理的脚本。extras
: 包含一些额外的工具和脚本。
2. docs: 文档目录,包含 JMeter 的用户手册和其他文档。
index.html
: JMeter 用户手册的 HTML 版本。
3. lib: 库文件目录。
ext
: 扩展库,例如用于 HTTP 请求的库。junit
: JUnit 相关的库文件。optional
: 可选的附加库。test-element
: 测试元素相关的库文件。
4. libexec: 库执行文件目录,包含一些执行脚本和库文件。
5. locale: 包含本地化资源文件。
6. **results`: 存放测试结果的目录。
7. **src`: 源代码目录。
8. **test-plan`: 示例测试计划文件。
关键配置文件
1. jmeter.properties
General Settings
-
log_level.jmeter: 设置 JMeter 的日志级别。这可以设置为
ERROR
,WARN
,INFO
,DEBUG
,TRACE
。log_level.jmeter=INFO
-
jmeter.save.saveservice.encoding: 设置 JMeter 保存数据时的字符编码。
jmeter.save.saveservice.encoding=UTF-8
-
jmeter.save.saveservice.default_sample_variables: 设置是否在结果中保存变量名称和值。
jmeter.save.saveservice.default_sample_variables=true
-
jmeter.save.saveservice.response_data: 设置是否保存响应数据。
jmeter.save.saveservice.response_data=false
-
jmeter.save.saveservice.assertions: 设置是否保存断言结果。
jmeter.save.saveservice.assertions=true
-
jmeter.save.saveservice.samplerData: 设置是否保存采样器数据。
jmeter.save.saveservice.samplerData=true
-
jmeter.save.saveservice.successful: 设置是否保存成功状态。
jmeter.save.saveservice.successful=true
-
jmeter.save.saveservice.label: 设置是否保存采样器标签。
jmeter.save.saveservice.label=true
-
jmeter.save.saveservice.timestamp_format: 设置时间戳的格式。
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
-
jmeter.save.saveservice.url: 设置是否保存 URL。
jmeter.save.saveservice.url=true
-
jmeter.save.saveservice.filename: 设置结果文件的默认名称。
jmeter.save.saveservice.filename=jmeter-results.csv
-
jmeter.save.saveservice.output_format: 设置结果文件的输出格式(CSV 或 XML)。
jmeter.save.saveservice.output_format=csv
-
jmeter.save.saveservice.response_headers: 设置是否保存响应头。
jmeter.save.saveservice.response_headers=false
-
jmeter.save.saveservice.request_headers: 设置是否保存请求头。
jmeter.save.saveservice.request_headers=false
-
jmeter.save.saveservice.sample_count: 设置是否保存样本计数。
jmeter.save.saveservice.sample_count=true
-
jmeter.save.saveservice.thread_name: 设置是否保存线程名称。
jmeter.save.saveservice.thread_name=true
-
jmeter.save.saveservice.error_message: 设置是否保存错误消息。
jmeter.save.saveservice.error_message=true
-
jmeter.save.saveservice.subresults: 设置是否保存子结果。
jmeter.save.saveservice.subresults=true
-
jmeter.save.saveservice.assertion_results_failure_message: 设置是否保存失败的断言结果。
jmeter.save.saveservice.assertion_results_failure_message=true
-
jmeter.save.saveservice.assertion_results: 设置是否保存所有的断言结果。
jmeter.save.saveservice.assertion_results=true
-
jmeter.save.saveservice.stack_trace: 设置是否保存堆栈跟踪。
jmeter.save.saveservice.stack_trace=false
-
jmeter.save.saveservice.response_data.on_error: 设置当出现错误时是否保存响应数据。
jmeter.save.saveservice.response_data.on_error=false
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
-
jmeter.save.saveservice.bytes: 设置是否保存响应数据大小。
jmeter.save.saveservice.bytes=true
-
jmeter.save.saveservice.latency: 设置是否保存延迟时间。
jmeter.save.saveservice.latency=true
-
jmeter.save.saveservice.connect_time: 设置是否保存连接时间。
jmeter.save.saveservice.connect_time=true
-
jmeter.save.saveservice.sent: 设置是否保存发送的数据大小。
jmeter.save.saveservice.sent=true
-
jmeter.save.saveservice.samplerLabel: 设置是否保存采样器标签。
jmeter.save.saveservice.samplerLabel=true
-
jmeter.save.saveservice.sampleScope: 设置是否保存样本范围。
jmeter.save.saveservice.sampleScope=true
-
jmeter.save.saveservice.successful: 设置是否保存成功状态。
jmeter.save.saveservice.successful=true
-
jmeter.save.saveservice.id: 设置是否保存样本 ID。
jmeter.save.saveservice.id=true
-
jmeter.save.saveservice.response_code: 设置是否保存响应代码。
jmeter.save.saveservice.response_code=true
-
jmeter.save.saveservice.response_message: 设置是否保存响应消息。
jmeter.save.saveservice.response_message=true
-
jmeter.save.saveservice.thread_counts: 设置是否保存线程计数。
jmeter.save.saveservice.thread_counts=true
-
jmeter.save.saveservice.data_type: 设置是否保存数据类型。
jmeter.save.saveservice.data_type=true
-
jmeter.save.saveservice.label: 设置是否保存标签。
jmeter.save.saveservice.label=true
-
jmeter.save.saveservice.assertion_results_failure_count: 设置是否保存失败断言计数。
jmeter.save.saveservice.assertion_results_failure_count=true
-
jmeter.save.saveservice.assertion_results_failure_message: 设置是否保存失败断言的消息。
jmeter.save.saveservice.assertion_results_failure_message=true
-
jmeter.save.saveservice.assertion_results: 设置是否保存断言结果。
jmeter.save.saveservice.assertion_results=true
-
jmeter.save.saveservice.samplerData: 设置是否保存采样器数据。
jmeter.save.saveservice.samplerData=true
-
jmeter.save.saveservice.thread_name: 设置是否保存线程名称。
jmeter.save.saveservice.thread_name=true
-
jmeter.save.saveservice.error_count: 设置是否保存错误计数。
jmeter.save.saveservice.error_count=true
-
jmeter.save.saveservice.response_data: 设置是否保存响应数据。
jmeter.save.saveservice.response_data=true
-
jmeter.save.saveservice.response_data.on_error: 设置当出现错误时是否保存响应数据。
jmeter.save.saveservice.response_data.on_error=true
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
-
jmeter.save.saveservice.response_data.binary_max_length: 设置响应数据保存的最大长度。
jmeter.save.saveservice.response_data.binary_max_length=1024
-
jmeter.save.saveservice.response_data.text_max_length: 设置响应数据保存的最大长度。
jmeter.save.saveservice.response_data.text_max_length=1024
-
jmeter.save.saveservice.response_data.text_max_length: 设置响应数据保存的最大长度。
jmeter.save.saveservice.response_data.text_max_length=1024
-
jmeter.save.saveservice.response_data.encode_binary: 设置是否对二进制数据进行 Base64 编码。
jmeter.save.saveservice.response_data.encode_binary=false
-
jmeter.save.saveservice.response_data.encode_text: 设置是否对文本数据进行 Base64 编码。
jmeter.save.saveservice.response_data.encode_text=false
-
jmeter.save.saveservice.response_data.include_mime_types: 设置哪些 MIME 类型的数据需要被保存。
jmeter.save.saveservice.response_data.include_mime_types=text/html,text/xml,application/json
-
jmeter.save.saveservice.response_data.exclude_mime_types: 设置哪些 MIME 类型的数据不被保存。
jmeter.save.saveservice.response_data.exclude_mime_types=image/png,image/jpeg
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
2. HTTP Sampler Settings
-
httpclient4.use_system_proxy: 设置是否使用系统代理设置。
httpclient4.use_system_proxy=false
-
httpclient4.maxConnections: 设置最大连接数。
httpclient4.maxConnections=200
-
httpclient4.maxPerRoute: 设置每条路由的最大连接数。
httpclient4.maxPerRoute=100
-
httpclient4.timeout: 设置连接超时时间(毫秒)。
httpclient4.timeout=30000
-
httpclient4.socketTimeout: 设置读取超时时间(毫秒)。
httpclient4.socketTimeout=30000
-
httpclient4.followRedirects: 设置是否跟随重定向。
httpclient4.followRedirects=true
3. Remote Testing Settings
-
remote_hosts: 设置远程主机列表。
remote_hosts=192.168.1.100:1099,192.168.1.101:1099
-
server_port: 设置代理端的 RMI 服务器端口。
jmeter-server.rmi.localport=1099
-
jmeter-server.rmi.ssl: 设置是否启用 SSL 加密。
jmeter-server.rmi.ssl=false
-
jmeter-server.rmi.ssl.protocol: 设置 SSL 协议。
jmeter-server.rmi.ssl.protocol=TLS
-
jmeter-server.rmi.ssl.keystore.file: 设置密钥库文件。
jmeter-server.rmi.ssl.keystore.file=
-
jmeter-server.rmi.ssl.truststore.file: 设置信任库文件。
jmeter-server.rmi.ssl.truststore.file=
-
jmeter-server.rmi.ssl.keystore.password: 设置密钥库密码。
jmeter-server.rmi.ssl.keystore.password=
-
jmeter-server.rmi.ssl.truststore.password: 设置信任库密码。
jmeter-server.rmi.ssl.truststore.password=
-
jmeter-server.rmi.server.useLocalHostname: 设置是否使用本地主机名。
jmeter-server.rmi.server.useLocalHostname=false
4. Plugins Settings
-
pluginManager.enabled: 设置是否启用插件管理器。
pluginManager.enabled=true
-
pluginManager.autoUpdate: 设置插件是否自动更新。
pluginManager.autoUpdate=true
-
pluginManager.updateInterval: 设置插件更新检查间隔(小时)。
pluginManager.updateInterval=24
5. user.properties
这是一个可选的文件,用于覆盖 jmeter.properties
中的某些设置。例如,如果你想要更改默认的 HTTP 请求方法,可以在这个文件中添加:
HTTPSampler.domain=mydomain.com
HTTPSampler.path=/path/to/resource
6. jmeter-server.properties
这是一个用于配置 JMeter 作为远程代理时的属性文件。虽然通常不需要手动编辑,但它包含了远程测试的一些重要设置:
jmeter-server.rmi.localport
: 代理端的 RMI 本地端口。jmeter-server.rmi.ssl
: 是否启用 SSL 加密。jmeter-server.rmi.server.useLocalHostname
: 是否使用本地主机名。
7. 其他常用配置
-
log_level.jmeter: 设置 JMeter 的日志级别。
log_level.jmeter=INFO
-
jmeter.save.saveservice.timestamp_format: 设置时间戳格式。
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
-
jmeter.save.saveservice.response_data: 设置是否保存响应数据。
jmeter.save.saveservice.response_data=false
-
jmeter.save.saveservice.response_data.on_error: 设置当出现错误时是否保存响应数据。
jmeter.save.saveservice.response_data.on_error=true
-
jmeter.save.saveservice.response_data.save_as: 设置响应数据保存格式。
jmeter.save.saveservice.response_data.save_as=BINARY
-
jmeter.save.saveservice.response_data.binary_max_length: 设置响应数据保存的最大长度。
jmeter.save.saveservice.response_data.binary_max_length=1024
-
jmeter.save.saveservice.response_data.text_max_length: 设置响应数据保存的最大长度。
jmeter.save.saveservice.response_data.text_max_length=1024
-
jmeter.save.saveservice.response_data.encode_binary: 设置是否对二进制数据进行 Base64 编码。
jmeter.save.saveservice.response_data.encode_binary=false
-
jmeter.save.saveservice.response_data.encode_text: 设置是否对文本数据进行 Base64 编码。
jmeter.save.saveservice.response_data.encode_text=false
-
jmeter.save.saveservice.response_data.include_mime_types: 设置哪些 MIME 类型的数据需要被保存。
jmeter.save.saveservice.response_data.include_mime_types=text/html,text/xml,application/json
-
jmeter.save.saveservice.response_data.exclude_mime_types: 设置哪些 MIME 类型的数据不被保存。
jmeter.save.saveservice.response_data.exclude_mime_types=image/png,image/jpeg
文章原创首发于微信公众号 软件测试微课堂,更多内容欢迎关注微信公众号查看