前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >测试工程师们,每天早下班1小时的技巧来了~

测试工程师们,每天早下班1小时的技巧来了~

原创
作者头像
憨憨默默成神
发布2021-11-27 15:25:04
8670
发布2021-11-27 15:25:04
举报

前言

使用过 jmeter 的同学,应该都会使用监听器,在每个监听器中,都会有一个“所有数据写入一个文件”的功能,那这个功能应该怎么用呢?今天,我们就来讲讲这个功能的使用。

几乎所有的监听器都有这样一个功能。

那对于这个监听器都带有的功能,到底该怎么用呢?

点击“浏览”按钮,会弹出系统的文件选择窗口

我们可以从弹窗的文件类型中看到,支持的文件类型有三种:XML、jtl、CSV。

其实,jmeter 还支持一种:.db 只是,这种类型很少被用了。

也就是说,我们选择写入的文件类型有三种选择。其中,CSV 是 jmeter 目前版本默认的。可以在jmeter.properties文件中,找到“jmeter.save.saveservice.output_format=”参数的值。

自己选择一个路径,可以选择一个已经存在的文件,也可以自己创建一个空文件,不过,建议使用空文件,因为,在jmeter默认参数配置时,"resultcollector.action_if_file_exists=ASK",如果文件已经存在,就会弹窗提示。

当然,也可以自己修改为“APPEND” 自动追加到文件末尾、“DELETE”自动删除原文件再创建新文件。

默认情况下,CSV 文件,保存的字段有 (jtl 文件也相同)

timeStamp   elapsed label   responseCode    responseMessage threadName  dataType    
success failureMessage  bytes   sentBytes   grpThreads  allThreads  URL Latency IdleTime    
Connect

字段

信息

timeStamp

时间戳 如:1634187509448

elapsed

耗时,单位:ms 毫秒

label

取样器名称 如:HTTP request

responseCode

响应代码 如:200

responseMessage

响应消息 如:OK

threadName

线程名称 如:线程组 1-1

dataType

数据类型 如:text

success

成功与否 如:true

bytes

样本中的字节数

sentBytes

发送样本的字节数

grpThreads

此线程组中的活跃线程数

allThreads

所有线程组中的活跃线程数

URL

取样器请求地址

Latency

延迟耗时

IdleTime

空闲时间 单位:ms毫秒

Connect

建立连接的时间

细心的朋友,应该从这个图表中可以发现,这个 CSV 中是没有 request-body 和 response-body 的,也就是说,请求和响应的一些数据是没有写入文件的。这些数据,主要是在做性能分析生成图表的时候使用的。

那到底怎么用呢?

如果你使用的是图形界面 jmeter,你可以在 jmeter 中,任意一个监听器中,点击“浏览”,选择你的 CSV 或 jtl 文件,如你使用“查看结果树” 元件

或者使用“聚合报告” 元件:

就能看到运行的结果,以及统计分析报告。

但是,因为他是 CSV 文件或 jtl 文件,还是有一些不足的。首先,CSV 文件,是不会保存请求体和响应结果相关的数据,所以,在使用“查看结果树” 元件来查看时,request body, request headers,response body, response headers 中都是没有数据的。然后,就是,如果 CSV 文件或 jtl 文件有大几十 M 或几百 M,在使用“查看结果树” 元件查看时,可能会导致 jmeter 无响应。

在 jmeter5.1.1 版本开始,如果你使用的图形界面,你也可以把 CSV 文件或 jtl 文件,生成 HTML 报告。

点击第 1 个“浏览”,选择 CSV 文件或 jtl 文件,点击第 2 个“浏览” ,选择 jmeterbin 文件夹中的 jmeter.properties 或 user.properties 文件,点击第 3 个“浏览”, 选择一个空文件夹,然后点击最底部的 “Gererate report” 按钮,就可以生成 HTML 到你选择的空文件夹中。

如果,你使用的是无图形界面 jmeter,可以使用 jmeter -g xxxx.jtl -e -o xxxempty_dict “xxxx.jtl” 可以是你的 CSV 文件也可以是 jtl 文件, "xxxempty_dict" 就是你把生成 HTML 放的空文件夹名称。

默认的 CSV 或 jtl 文件,没有保存请求体和响应相关数据,那有没有什么办法解决呢?

我们可以通过下面两种方法:

选择一个空的 XML 文件,然后,点击 “配置”按钮,在弹窗中,选中“Save As XML” “Save Response Data(XML)” “Save Sampler Data(XML)” 三个复选框,然后,点击”完成“

这样,请求体和响应相关数据,就都保存到了 XML 文件中。

注意:

1、想要保存请求体和响应相关数据,文件必须为 XML 格式,必须构想 Save As XML

2、Save Sampler Data(XML)会保存请求的 cookie、请求方法、请求体

也可以选择一个空 XML 文件,然后,点击 “配置”按钮,在弹窗中,选中“Save As XML” ,点击”完成“, 然后,点击 ”测试计划“中的 ”函数测试模式“

用这两种方法生成的 XML 文件,就都包含了请求体和响应相关数据,在 jmeter 图形界面中,选择”查看结果树“,点击选择写入文件的浏览,打开 XML 文件,这个时候,我们查看到请求 和 响应的详细信息。

用这两种方法生成的 XML 文件,就都包含了请求体和响应相关数据,在 jmeter 图形界面中,选择”查看结果树“,点击选择写入文件的浏览,打开 XML 文件,这个时候,我们查看到请求 和 响应的详细信息。

注意:

XML 文件不能像 CSV、jtl 文件一样生成 HTML 报告,它要生成报告,需要与 ant 集成。

前面,我们都是讲的在 jmeter 图形界面中,把数据写入文件,我们也可以通过采用无图形界面的 CLI 命令来生成 CSV 或 jtl 文件。

jmeter -n -t xx.jmx -l xxx.jtl -e -o xxxxempty_dict

xx.jmx 是 jmeter 脚本,xxx.jtl 或 xxx.csv 是生成的文件,xxxxempty_dict 是结果转换为的 HTML 文件。

完整文件

关于以上知识点的掌握肯定是需要自己多花时间和精力的,这些学习资料和学习教程你可以去公众号圈子:程序员一凡 直接获取,还很多录制的视频教程,大佬的讲解非常详细,能够帮助你快速理解与掌握。

💙其他专栏文章

推荐👍:《6个月软件测试培训出来后的感悟,写给正在迷茫是否要转行或去学软件测试朋友们!》

推荐👍:《字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……》

推荐👍:《软件测试面试屡屡失败,面试官总是说逻辑思维混乱,怎么办?》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 完整文件
  • 💙其他专栏文章
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档