目录

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性能测试实战相关推荐

  1. 【性能测试】Jmeter性能测试实战

    文章目录 一.数据驱动性能测试 1.1 数据驱动的理念 2. 特点 3. 好处 4. 要求 5. 数据驱动的使用场景 1.2 jmeter中的数据驱动 二.数据库性能测试 开发性能测试脚本及执行 三. ...

  2. [JMeter性能测试实战]之先从搭建测试环境开始

    前言 写给想学性能测试而又不知道如何着手的测试同学,同时这也作为本人内训的教材,分享性能测试的套路及经验. 不要被性能测试的外衣所迷惑,会写代码做性能测试的人不一定比使用工具做性能测试的人厉害,关键是 ...

  3. JMeter性能测试实战之QPS检测过程解析

    目录结构 一.测试需求 二.测试步骤1.添加线程组2.添加HTTP请求3.设置QPS限制4.添加监视器5.运行脚本6.聚合报告分析 一.测试需求 需求:测试20个用户访问Baidu首页(https:/ ...

  4. Jmeter性能测试实战教程系列-搭建分布式性能测试环境(五)

    Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具 ...

  5. 软件测试工程师进阶技能工具篇——jmeter性能测试实战

    1.在Apache 官网下载JMeter 官网地址:https://www.apache.org/ 2.在Oracle官网下载jdk 官网地址:https://www.oracle.com/ 3.设置 ...

  6. 性能测试 性能测试实战(八)Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》

    文章目录 一.前言 二.Jmeter分布式性能测试平台 介绍 1.Jmter分布式性能测试平台 简介 2.Jmeter分布式性能测试平台 优秀案例1 3.Jmeter分布式性能测试平台 优秀案例2 4 ...

  7. jmeter性能测试步骤实战教程

    1. Jmeter是什么? 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 1 ...

  8. 性能测试 性能测试实战(六)Jmeter + prometheus-plugin + Prometheus Jmeter性能测试环境搭建 普罗米修斯插件 性能监控 性能数据可视化平台 性能测试平台搭建

    文章目录 一.前言 二.Jmeter 性能测试持续可视化环境搭建 1.Jmeter

  9. JMETER性能测试从入门到精通高级篇 - 分布式压测部署之负载机的设置(详解教程)

    1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了, ...

  10. JMeter性能测试中如何使用“用户参数”实现参数化

    1.用户参数组件介绍 用户参数(User Parameter)组件在前置处理器元件中添加,前置处理器的作用是在取样器发出请求之前,执行一些操作. 即:如果将前置处理器附加到取样器元件中,则它将在该取样 ...

最新文章

  1. pytorchviz visdom 可视化 pytorch
  2. 使用axios上传照片
  3. [置顶] 再谈学习方法
  4. Win11系统如何调节字体大小
  5. PYMODM使用记录
  6. 记一次newCachedThreadPool造成的导入导出事故
  7. js 省市下拉列表联动
  8. SpringBoot @Condition 注解
  9. 一百多个Zbrush实用笔刷和Alpah大合集
  10. ESP32 ESP-IDF 获取GPS北斗模块的经纬度和日期时间
  11. canbus是什么意思_canbus.是什么意思
  12. html5中Canvas API
  13. 2021-10-21-Flask-04 模型关系的建立,增删改查的演示,一篇文章让你直接搞懂Flask模型
  14. Go语言(golang)的错误(error)处理的推荐方案
  15. 菩萨到底能不能保佑我们
  16. 这是我看过最好的「机器学习」科普文章了
  17. phpstudy 安装 flarum论坛
  18. 使用c++,类实现求圆柱体体积
  19. 为编程而生的字体(附网盘下载链接),Pycharm神器级插件 ^_^ 效率提升利器
  20. 11个AI写作软件工具!知名4A广告公司蓝标宣布停止文案外包!

热门文章

  1. 迪杰斯特拉算法(dijkstra)
  2. 是西电梦了我,还是我梦了西电
  3. 连上hdmi后没有声音。
  4. cad打开卡死_CAD点打开或者保存就卡死无响应的解决方法
  5. 数据中心产业深度报告:IDC产业链景气周期及投资框架分析
  6. 静坐常思己过,闲谈莫论人非
  7. 文本挖掘系列之文本信息抽取
  8. SQLSERVER、ORACLE中根据汉字获取拼音函数
  9. 标准差(standard deviation)和标准误差(standard error)你能解释清楚吗?
  10. toMap函数 java.lang.IllegalStateException: Duplicate key 123 (attempted merging values 123 and 124)