JMeter性能测试实战
目录
jmeter+ant接口自动化测试与性能测试实战
jmeter+influxdb+grafana实时监控
jmeter+ant接口自动化测试与性能测试实战
首先需要安装和配置jmeter和ant 环境
jmeter与ant整合
在ant的lib目录下把ant-jmeter-1.1.1.jar 复制到jmeter的extras目录下。
邮件的插件activation.jar ,commons-email-1.2.jar ,mail.jar 放到jmeter的lib目录下
测试脚本
在jmeter文件下边新建一个tests文件夹 ,report存放html测试报告和jtl文件信息
script存放的是要测试的接口脚本
build.xml文件信息
<?xml version="1.0" encoding="UTF8"?><project name="ant-jmeter-test" default="run" basedir="."><property name="jmeterPath" value="E:\apache-jmeter-5.4.1"/>
<property name="mailhost" value="smtp.qq.com"/>
<property name="username" value="xxxx@qq.com"/>
<property name="password" value="sszhgagfkdynbbeaa"/>
<property name="mailfrom" value="xxxx@qq.com"/>
<property name="mail_to" value="xxxx@qq.com,"/>
<property name="mailsubject" value="API测试报告"/>
<property name="mail_port" value="587"/>
<property name="message" value="Hi!请查收下,API测试报告,如有任何疑问,请联系我,谢谢!"/><tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp><property name="jmeter.home" value="${jmeterPath}" /><property name="jmeter.result.jtl.dir" value="${jmeterPath}\tests\report\jtl" /><property name="jmeter.result.html.dir" value="${jmeterPath}\tests\report\html" /><property name="htmlReportNameSummary" value="testReport" /><property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${htmlReportNameSummary}${time}.jtl" /><property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.html" /><target name="run"><antcall target="test" /><antcall target="report" /><antcall target="sendEmail" /></target><!--执行接口测试--><target name="test"><echo>执行接口自动化测试</echo><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"><!--要执行的测试脚本--><testplans dir="${jmeterPath}\tests\script" includes="ApiPerformance.jmx" /><property name="jmeter.save.saveservice.output_format" value="xml"/></jmeter></target><!--解决报告中NAN字段显示问题--><path id="xslt.classpath"><fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/><fileset dir="${jmeter.home}/lib" includes="serializer-2.7.2.jar"/></path><!--生成HTML测试报告--><target name="report"><echo>生成接口自动测试报告</echo><xslt classpathref="xslt.classpath"force="true"in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}"style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" /><!--复制图片--><copy todir="${jmeter.result.html.dir}"><fileset dir="${jmeter.home}/extras"><include name="collapse.png" /><include name="expand.png" /></fileset></copy></target><!--自动发送邮件--><target name="sendEmail"><echo>发送自动化测试报告</echo><mail mailhost="${mailhost}"user="${username}" password="${password}" mailport="${mail_port}"subject="${mailsubject}" messagemimetype="text/html" tolist="${mail_to}"><from address="${mailfrom}" /><attachments><fileset dir="${jmeter.result.html.dir}"><include name="${htmlReportNameSummary}${time}.html"/><include name="collapse.png" /><include name="expand.png" /></fileset></attachments><message>${message}</message></mail></target></project>
在build.xml文件路径下,执行ant
生成的测试报告内容
性能报告
把bin目录下的jmeter.properties文件添加jmeter.save.saveservice.output_format=csv
在tests目录下新建一个performanceReport文件夹。
执行命令:
jmeter -n -t script/ApiPerformance.jmx -l api.jtl -e -o performanceReport/
执行成功后会生成性能测试报告:
测试报告:
jmeter+influxdb+grafana实时监控
Influx安装
执行命令:wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificate
解压安装:执行命令:rpm -ivh influxdb-1.7.0.x86_64.rpm
修改默认的配置文件 /etc/influxdb/influxdb.conf
执行命令:vim /etc/influxdb/influxdb.conf,将最终修改的配置如下:
[[graphite]] # Determines whether the graphite endpoint is enabled. enabled = true database = "jmeter" # 数据库名称 retention-policy = "" bind-address = ":2003" # 端口 protocol = "tcp" consistency-level = "one"修改以下信息 [meta] dir = "/usr/local/influxdb/meta" #存放最终存储的数据,文件以.tsm结尾 [data] dir = "/usr/local/influxdb/data" #存放数据库元数据 wal wal-dir = "/usr/local/influxdb/wal" #存放预写日志文件修改HTTP端口信息 [http] # Determines whether HTTP endpoint is enabled. enabled = true# The bind address used by the HTTP service. bind-address = ":8086"
修改完成后执行:wq保存退出
上边设置了存放数据的目录为/usr/local/influxdb,需要手动创建并授权
mkdir -pv /usr/local/influxdb/
chown -R influxdb:influxdb /usr/local/influxdb/
启动与开机自启
systemctl restart influxdb
systemctl enable influxdb
创建数据库及用户
执行命令如下:
详细步骤参考:https://www.cnblogs.com/wx170119/p/13330638.html
JMeter配置
然后发送请求后,在服务器上查看influxdb是否有接收数据成功
Grafana安装
安装比较简单详细步骤参考:https://www.cnblogs.com/wx170119/p/13330638.html
然后执行jmeter
JMeter性能测试实战相关推荐
- 【性能测试】Jmeter性能测试实战
文章目录 一.数据驱动性能测试 1.1 数据驱动的理念 2. 特点 3. 好处 4. 要求 5. 数据驱动的使用场景 1.2 jmeter中的数据驱动 二.数据库性能测试 开发性能测试脚本及执行 三. ...
- [JMeter性能测试实战]之先从搭建测试环境开始
前言 写给想学性能测试而又不知道如何着手的测试同学,同时这也作为本人内训的教材,分享性能测试的套路及经验. 不要被性能测试的外衣所迷惑,会写代码做性能测试的人不一定比使用工具做性能测试的人厉害,关键是 ...
- JMeter性能测试实战之QPS检测过程解析
目录结构 一.测试需求 二.测试步骤1.添加线程组2.添加HTTP请求3.设置QPS限制4.添加监视器5.运行脚本6.聚合报告分析 一.测试需求 需求:测试20个用户访问Baidu首页(https:/ ...
- Jmeter性能测试实战教程系列-搭建分布式性能测试环境(五)
Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具 ...
- 软件测试工程师进阶技能工具篇——jmeter性能测试实战
1.在Apache 官网下载JMeter 官网地址:https://www.apache.org/ 2.在Oracle官网下载jdk 官网地址:https://www.oracle.com/ 3.设置 ...
- 性能测试 性能测试实战(八)Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》
文章目录 一.前言 二.Jmeter分布式性能测试平台 介绍 1.Jmter分布式性能测试平台 简介 2.Jmeter分布式性能测试平台 优秀案例1 3.Jmeter分布式性能测试平台 优秀案例2 4 ...
- jmeter性能测试步骤实战教程
1. Jmeter是什么? 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 1 ...
- 性能测试 性能测试实战(六)Jmeter + prometheus-plugin + Prometheus Jmeter性能测试环境搭建 普罗米修斯插件 性能监控 性能数据可视化平台 性能测试平台搭建
文章目录 一.前言 二.Jmeter 性能测试持续可视化环境搭建 1.Jmeter
- JMETER性能测试从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程)
1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了, ...
- JMeter性能测试中如何使用“用户参数”实现参数化
1.用户参数组件介绍 用户参数(User Parameter)组件在前置处理器元件中添加,前置处理器的作用是在取样器发出请求之前,执行一些操作. 即:如果将前置处理器附加到取样器元件中,则它将在该取样 ...
最新文章
- pytorchviz visdom 可视化 pytorch
- 使用axios上传照片
- [置顶] 再谈学习方法
- Win11系统如何调节字体大小
- PYMODM使用记录
- 记一次newCachedThreadPool造成的导入导出事故
- js 省市下拉列表联动
- SpringBoot @Condition 注解
- 一百多个Zbrush实用笔刷和Alpah大合集
- ESP32 ESP-IDF 获取GPS北斗模块的经纬度和日期时间
- canbus是什么意思_canbus.是什么意思
- html5中Canvas API
- 2021-10-21-Flask-04 模型关系的建立,增删改查的演示,一篇文章让你直接搞懂Flask模型
- Go语言(golang)的错误(error)处理的推荐方案
- 菩萨到底能不能保佑我们
- 这是我看过最好的「机器学习」科普文章了
- phpstudy 安装 flarum论坛
- 使用c++,类实现求圆柱体体积
- 为编程而生的字体(附网盘下载链接),Pycharm神器级插件 ^_^ 效率提升利器
- 11个AI写作软件工具!知名4A广告公司蓝标宣布停止文案外包!
热门文章
- 迪杰斯特拉算法(dijkstra)
- 是西电梦了我,还是我梦了西电
- 连上hdmi后没有声音。
- cad打开卡死_CAD点打开或者保存就卡死无响应的解决方法
- 数据中心产业深度报告:IDC产业链景气周期及投资框架分析
- 静坐常思己过,闲谈莫论人非
- 文本挖掘系列之文本信息抽取
- SQLSERVER、ORACLE中根据汉字获取拼音函数
- 标准差(standard deviation)和标准误差(standard error)你能解释清楚吗?
- toMap函数 java.lang.IllegalStateException: Duplicate key 123 (attempted merging values 123 and 124)