jmeter一些用法

文章介绍了如何使用JMeter在命令行中生成HTML测试报告,包括直接通过脚本和已有的jtl结果文件两种方式。在Windows系统上两种方法都可行,但在Linux环境下,第一种方法可能无效。此外,文章还提到了在启动JMeter服务器时遇到的RemoteException,特别是关于loopback地址的问题,以及解决此问题的方法,即设置`java.rmi.server.hostname`。另外,对于`java.io.FileNotFoundException`关于rmi_keystore.jks的错误,可以通过设置`server.rmi.ssl.disable=true`来关闭SSL功能。

1、命令行生成测试报告

生成HTML报告
生成HTML报告有2种方式,一种是直接在命令行加上-o参数,另一种是已有jtl结果文件,运行命令生成报告

1.1、命令行直接生成报告

jmeter -n -t 【Jmx脚本位置】-l 【中间文件result.jtl位置】-e -o 【报告指定文件夹】
1
-e:测试结束后,生成测试报告
-o:指定测试报告的存放位置
1
2

注意:-o后面跟的文件夹一定是不存在的或者是空文件夹13.2、已有jtl结果文件,运行命令生成报告

jmeter -g【已经存在的.jtl文件的路径】-o 【用于存放html报告的目录】
1
注意:经实操,windows系统上,以上2种方法都可以生成HTML测试报告,但是在Linux系统上第1种方法,没有生成报告,只有第二种方法才可以(具体原因后面在慢慢找吧)
2、作为执行机启动的一些报错及解决方法

Server failed to start: java.rmi.RemoteException: Cannot start. hecs-213824 is a loopback address.
An error occurred: Cannot start. hecs-213824 is a loopback address.

使用下面的命令设置host

./jmeter-server -Djava.rmi.server.hostname=192.168.0.133

host改成自己服务器的IP

3、Server failed to start: java.rmi.server.ExportException: Listen failed on port: 1099; nested exception is: 
    java.io.FileNotFoundException: rmi_keystore.jks (没有那个文件或目录)

解决方法:修改jmeter.properites: server.rmi.ssl.disable=true,关闭ssl功能

### JMeter 的使用方法与操作指南 JMeter 是 Apache 提供的一款开源性能测试工具,支持多种协议,如 HTTP、FTP、TCP 等,适用于接口性能测试负载测试[^1]。其主要功能包括创建测试计划、设置线程组、配置请求、添加监听器等,以模拟并发用户并收集性能数据。 #### 创建测试计划 在 JMeter 中,测试计划是整个测试的核心结构。测试计划可以包含多个线程组、配置元件、取样器监听器。测试计划可以通过图形界面创建,也可以通过命令行执行。 #### 设置线程组 线程组用于模拟并发用户。可以设置线程数(即并发用户数)、循环次数、启动延迟等参数。例如,设置线程数量为 200 时,可以模拟 200 个用户同时执行请求的情况[^2]。 #### 配置 HTTP 请求 JMeter 提供了多种方式来配置 HTTP 请求。其中,**HTTP Request Defaults** 可以统一设置协议、服务器地址、端口号等公共参数,避免在每个请求中重复配置。此外,**HTTP Request** 元件用于定义具体的请求路径、请求方法(GET、POST 等)、编码方式以及请求参数。 #### 设置 HTTP 请求头 为了模拟真实请求,通常需要设置 HTTP 请求头,例如 `Content-Type` `Authorization`。**HTTP Header Manager** 元件可以用于添加、修改请求头信息,例如设置 token 认证信息。 #### 添加监听器 监听器用于查看测试结果性能指标。常用的监听器包括: - **View Results Tree**:显示每个请求的详细响应结果,便于调试。 - **Aggregate Report**:统计请求的平均响应时间、吞吐量、成功率等关键性能指标。 - **View Results in Table**:以表格形式展示请求结果,便于快速分析。 #### 使用命令行运行测试 虽然图形界面直观易用,但使用命令行运行 JMeter 测试可以减少资源消耗并提高测试效率。运行命令如下: ```bash jmeter -n -t your_test_plan.jmx -l results.jtl ``` 其中,`-n` 表示非 GUI 模式运行,`-t` 指定测试计划文件,`-l` 指定结果输出文件。 #### 示例脚本 以下是一个简单的 BeanShell 脚本,用于模拟并发请求: ```java // 模拟并发用户数 int userCount = Integer.parseInt(vars.get("userCount")); for (int i = 0; i < userCount; i++) { // 发送 HTTP 请求 URL url = new URL("http://example.com/api"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); int responseCode = connection.getResponseCode(); // 记录响应时间 long endTime = System.currentTimeMillis(); vars.put("responseTime", String.valueOf(endTime - startTime)); } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值