JMeter 报告监听器导入.jtl结果文件报错解决方案

 

by:授客 QQ:1033553122

 

1. 问题描述

把jmeter压测时生成的 .jtl结果文件导入监听器报告中,弹出如下错误提示 error loadding results file -see log file

2. 
原因分析与解决方案

打开logger view,查看出错日志,下,提示没有足够的列用于解析

文件比较大,windows下查看打不开,,所以在Linux上用vim命令打开,定位到那行,结果发现如下截图,数据缺失导致

JMeter解析
.jtl文件时,如果报错,那么仅仅会统计报错之前的记录,所以即便是出错了,也可以看到部分统计数据,如果数据缺失行为文件最后一行,那还好,基本不太影响,但是如果数据缺失行出现在开头或者中简位置,则会很影响统计结果

解决方案

方案1,linux上直接编辑,去掉数据缺失行记录,导入后没再报错

方案2

如果数据缺失行记录比较多,那么行一就难办了,得不断的去试才知道哪里出错了,可以考虑代码遍历,不过文件大的话,也挺耗费时间的

#!/usr/bin/env/
python

# -*- coding:utf-8
-*-

__author__ =
'shouke'

class
JtlDataParser:

def
__init__(self):

pass

def
parse_jtl_data(self):

with
open('E:/PerformanceTest/result.jtl', 'r', encoding='utf-8') as
f1:

with
open('E:/PerformanceTest/dirty.jtl', 'w', encoding='utf-8') as
f2:

f3
= open('E:/PerformanceTest/newResult.jtl', 'w',
encoding='utf-8')

count_for_normal
= 0

count_for_dirty
= 0

for
line in f1:

temp
= line.split(',')

if
len(temp) != 16: # 默认.jtl结果文件,每行包含16个逗号分隔的值

f2.write(line)

f2.flush()

count_for_dirty
+= 1

print('写入数据缺失行:',
count_for_dirty)

else:

f3.write(line)

f3.flush()

count_for_normal
+= 1

print('已写入正常数据行:',
count_for_normal)

f2.write('正常数据行总数:%s'
% str(count_for_normal))

f3.write('数据缺失行总数:%s'
% str(count_for_dirty))

f3.close()

JtlDataParser().parse_jtl_data()

最后说明

根据JMeter聚合报告生成原理来看,不管是使用 方案1
还是 方案2,如果数据缺失行、数据格式不对的数据行,数量比较多的话,会很影响统计结果,暂时没有好的解决方案

JMeter 报告监听器导入.jtl结果文件报错解决方案的更多相关文章

  1. 导入JSONPathExtractorExample.jmx文件报错,导不进去

    导入之前写的JSONPathExtractorExample.jmx文件,导入不进来,报如下错,百度搜索说是缺少jar包 复制别人的信息如下 有的时候我们会参考别人的jmx文件,但是在导入的时候会报错 ...

  2. Maven无法导入插件,pom文件报错

    最近在使用IDEA导入开源项目bootshiro,更新依赖的时候,发现有些插件无法导入,以致于pom文件一直报找不到该插件的错误 一开始就网上各种百度,无论怎么更换阿里云的镜像都导不进,最后想着试试自 ...

  3. myeclipse中导入的js文件报错(出现红叉叉,提示语法错误)

    为了做一个页面特效,导入了一个jquery文件,怎想,myeclipse竟然报错说是语法错误,但是这个js文件我是从官网上下载的,不应该出错才对,百度谷歌之后终于找到了解决办法: 选中报错的js文件, ...

  4. MyEclipse10中导入的jquery文件报错(出现红叉叉,提示语法错误)

    为了做一个页面特效,导入了一个jQuery文件,怎想,myeclipse竟然报错说是语法错误,但是这个js文件我是从官网上下载的,不应该出错才对,百度谷歌之后终于找到了解决办法: 选中报错的js文件, ...

  5. 关于maven导入工程pom文件报错问题及解决

    pom文件头报错 1.导入maven文件,经常遇到表头出错问题.报错:Failure to transfer org.apache.maven.shared:maven-filtering:pom:1 ...

  6. Spring MVC实现上传文件报错解决方案

    报错代码: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.sp ...

  7. myeclipse9中导入的jquery文件报错(出现红叉叉,提示语法错误)

    选中报错的js文件, 右键选择 MyEclipse-->Exclude From Validation : 然后继续右键执行MyEclipse-->Run Validation 即可

  8. MyEclipse导入jquery等文件报错的解决方案

    1.选中报错的jquery文件例如“jquery-1.8.0.min.js”. 2.右键选择 MyEclipse-->Exclude From Validation . 3.再右键选择 MyEc ...

  9. SQLServer导入大sql文件报错 对 COM 组件的调用返回了错误 HRESULT E_FAIL。 (mscorlib)

    打开cmd执行(d:\script.sql为sql文件位置):  sqlcmd -S 127.0.0.1 -U sa -P sa -i d:\script.sql    From:https://ww ...

随机推荐

  1. mfcc的特征提取python 代码实现和解析

    #!/usr/bin/python # -*- coding: UTF-8 -*- import numpy import scipy.io.wavfile from matplotlib impor ...

  2. IdentityServer4(9)- 使用OpenID Connect添加用户身份验证(implicit)

    本文为 OpenID Connect 简化模式(implicit) 已更新至.NET Core 2.2 在本快速入门中,我们希望通过 OpenID Connect 协议向我们的 IdentitySer ...

  3. vscode mysql v0.3插件 连接不了

    环境: centos7.6  x64 python 3.6 插件mysql v0.3 解决办法:回滚插件版本v0.2.3 使用方法注意: https://www.cnblogs.com/-admin- ...

  4. 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手

    关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手   本人菜鸟一枚,最近公司有需求要用到富文本编辑器,我选择的是百度的ueditor富文本编辑器,闲话不多说,进入正 ...

  5. AWT/Swing——事件处理

    前言 当用户点击图形界面上的一个按钮或者其他Component时要有所响应,这才是实现了图形界面的交互功能.如何做出这些响应我们就需要了解事件的处理机制.下面将分为以下内容介绍AWT(Swing)中事 ...

  6. OJ:又一道考察多态的题目

    Description 下面的程序输出结果是: A::Fun A::Do A::Fun C::Do 请填空: 程序代码如下 #include <iostream> using namesp ...

  7. (void) (&_x == &_y)的作用

    如果有下面这段代码: #define min(x, y) ({ \ const typeof(x) _x = (x); \ const typeof(y) _y = (y); \ (void) (&a ...

  8. springmvc和structs2的区别

    1.从安全性角度分析spring mvc和struts2的区别: spring mvc:controller 1.spring mvc 默认controller是单实例(通过注解@Scope(“pro ...

  9. NPOI导出EXCEL报_服务器无法在发送 HTTP 标头之后追加标头

    虽然发表了2篇关于NPOI导出EXCEL的文章,但是最近再次使用的时候,把以前的代码粘贴过来,居然报了一个错误: “服务器无法在发送 HTTP 标头之后追加标头” 后来也查询了很多其他同学的文章,都没 ...

  10. 判断本机ip是电信还是网通

    string location = "0";//0是网通 1是电信 Uri uri = new Uri("http://www.ip138.com/ips138.asp& ...