Jmeter5.3非GUI模式,从配置到导出报告问题整理

1、非GUI模式执行脚本

前提条件
①.电脑只有C盘
②.新创建用户(非默认管理员)
③.Jmeter 版本 v5.3

非GUI模式运行脚本生成测试报告

老规矩,直接上例子

进入到 Jmeter的bin文件夹

C:\Users > cd C:\Performance\apache-jmeter-5.3\bin

在bin文件夹下执行脚本

C:\Performance\apache-jmeter-5.3\bin>jmeter -n -t C:\performance\pro_searchAPI.jmx  -l C:\performance\report\result.jtl -e -o C:\performance\report

查看结果

本地文件夹,生成的report的
在这里插入图片描述

在这里插入图片描述

命令解析
n:非GUI模式执行JMeter;
t: 脚本文件(.jmx文件)的路径;
l: 指定生成测试结果的保存文件(.jtl格式),此文件必须不存在;
e:测试结束后,生成测试报告;
o:用于存放测试报告的路径;

2、问题汇总

2.1 meter.save.saveservice.*属性

报错信息

File"xxxx\result.jtl' does not contain the field names header, ensure the jmeter.save.saveservice.* properties are the same as when the CSV file was created or the file may be read incorrectly when generating report

详情如截图
在这里插入图片描述

解决方法

修改jmeter.properties 文件中关于csv的属性

jmeter.properties 配置文件

     jmeter.save.saveservice.output_format=csv
     jmeter.save.saveservice.bytes=true
     jmeter.save.saveservice.label=true
     jmeter.save.saveservice.latency=true
     jmeter.save.saveservice.response_code=true
     jmeter.save.saveservice.response_message=true
     jmeter.save.saveservice.successful=true
     jmeter.save.saveservice.thread_counts=true
     jmeter.save.saveservice.thread_name=true
     jmeter.save.saveservice.time=true
     jmeter.save.saveservice.timestamp_format=ms
     jmeter.save.saveservice.timestamp_format=yyyy-MM-dd HH:mm:ss
     jmeter.save.saveservice.print_field_names=true

修改log.jtl 文件目录
要保证 log.jtlreport文件夹内

在这里插入图片描述

否则,即使修改了 csv属性,依然报错!!

2.2 拒绝访问 jmeter.log

报错信息

 main ERROR FileManager (jmeter.log) java.io.FileNotFoundException: jmeter.log (拒绝访问。) java.io.FileNotFoundException: jmeter.log (拒绝访问。)

截图详情
在这里插入图片描述

解决方法

拒绝访问的原因,就是无权限
所以,解决方法两个
管理员权限运行Jmeter;
②把Jmeter放到非系统盘,例如D:\Performance

2.3 log.jtl / result.jtl / reoprt not empty

报错信息

An error occurred: Cannot write to 'C:\Performance\report' as folder is not empty

截图详情

report
在这里插入图片描述
log.jtl
在这里插入图片描述

解决方法
不管是 生成报告的report文件夹、还是 log.jtlresult.jtl文件,如果再次执行脚本时,
就需要清空里面的信息。

福利
为了省事,小鱼写了一个bat文件,每次执行,自动删除report 文件、清空 log.jtl、result.jtl文件的内容

@echo off
C:
cd C:\Performance\apache-jmeter-5.3\bin
if exist result.jtl del result.jtl

rmdir C:\Performance\report
md C:\Performance\report

jmeter -n -t C:\Performance\测试脚本.jmx -l  log.jtl -e -o C:\Performance\report

2.4 Operation not supported: connect

错误信息

Load time:1
Connect Time:0
Latency:0
Size in bytes:1968
Sent bytes:0
Headers size in bytes:0
Body size in bytes:1968
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:Non HTTP response code: java.net.SocketException
Response message:Non HTTP response message: Operation not supported: connect


HTTPSampleResult fields:
ContentType: 
DataEncoding: null

解决方法
bin文件夹 system.properties配置文件

java.net.preferIPv4Stack = true

3、总结

最近也是,小鱼在忙着工作,这博文也是好些时间未更新。
今天也是利用午休时间,整理了一下,Jmeter的坑,避免大家在采坑。

话不多说,我们来看一下,主要的问题有哪些:

1、配置问题: jemter.properties、system.porperties 修改并放开属性里的内容;
2、执行问题:log.jtl 要跟report(生成报告文件夹)在同一层级目录下;
3、文件清空:再次执行同一脚本,需要清理 result.jtl、log.jtl 内容。

以上就是今天分享的内容。

希望大家都能避坑,顺利的生成测试报告!!

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl_奕然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值