Smart-doc赋能JMeter性能压测实践

231 篇文章 0 订阅
167 篇文章 0 订阅

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读3.4k次,点赞86次,收藏15次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502icon-default.png?t=N7T8https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502

1、前言

在软件开发的生命周期中,API文档的自动生成以及接口的性能测试是提升开发效率和确保产品质量的关键步骤。随着smart-doc工具在3.0.1版本后新增了生成JMeter性能压测脚本的能力,开发者可以更加便捷地完成这两项任务。本文将介绍如何利用smart-docJMeter进行有效的性能压测。

2、Smart-doc生成JMeter

生成 JMeter 脚本

使用 Smart-doc 生成 JMeter 性能压测脚本,可以大大减少性能测试脚本的编写时间,提升测试效率。Smart-doc 自动生成的 JMeter 脚本,可以直接在 JMeter 中运行,无需经过复杂的配置和调试,让性能测试变得更加简单快捷。

首先,确保你的项目中已经包含了smart-doc插件。然后,在项目的pom.xml文件中配置smart-doc插件的相关参数,例如:

<plugin>
    <groupId>com.ly.smart-doc</groupId>
    <artifactId>smart-doc-maven-plugin</artifactId>
    <version>3.0.3</version>
    <configuration> 
        <configFile>./src/main/resources/smart-doc.json</configFile>
        <projectName>${project.description}</projectName>
    </configuration>
    <executions>
        <execution>
            <!--如果不需要在执行编译时启动smart-doc,则将phase注释掉-->
            <phase>compile</phase>
            <goals>
                <!--smart-doc提供了html、openapi、markdown等goal,可按需配置-->
                <goal>jmeter</goal>
            </goals>
        </execution>
    </executions>
</plugin>

运行mvn -Dfile.encoding=UTF-8 smart-doc:jmeter命令,smart-doc将扫描项目源代码,提取注释信息,并自动创建相应的JMeter性能压测脚本。

不熟悉使用可以查阅smart-doc官方文档smart-doc-group.github.io/#/zh-cn/int…

导入JMeter 脚本

打开 JMeter,点击 "File" -> "Open",选择第一步生成的 JMeter 脚本文件,点击 "Start" 按钮,JMeter 就会开始按照脚本进行性能压测。

配置prometheus监控

Prometheus 是一款开源的监控和警告工具,用于处理时间序列数据。通过结合这两款工具,我们可以实现对 JMeter 测试过程的实时监控,从而提高性能测试的可观测性。

以下是实现步骤:

1. 安装 JMeter Prometheus 插件

首先,你需要在 JMeter lib/ext 目录下安装 Prometheus 插件。你可以从 JMeter Plugins Manager 或者官方网站 jmeter-plugins.org/ 下载插件。也可以从Github下载,github.com/johrstrom/j… 。本次选择从Github下载最新的0.7.1

注意: JMeter默认监听的IP地址是127.0.0.1,默认会导致Prometheus无法连接到 JMeter Prometheus的监听端口,因此需要注意在jmeter.properties里加个配置prometheus.ip=0.0.0.0

2. 在 JMeter 中配置 Prometheus 插件

打开 JMeter,添加Prometheus Listener到你的测试计划中。这可以通过右键点击"测试计划" -> "添加" -> "监听器"-> Prometheus Listener 来完成。

监听器的配置可以参考官方的配置,参考如下(smart-doc支持配置添加生成Prometheus Listener ):

3. 配置 Prometheus

Prometheus 的配置文件(prometheus.yml)中,添加一个新的 scrape_config 来从 JMeter Prometheus 插件中抓取数据。例如:

scrape_configs:
  - job_name: 'jmeter'
    static_configs:
      - targets: ['<Your JMeter machine IP>:9270']

其中, 是运行 JMeter 测试的机器的 IP 地址,9270JMeter Prometheus 插件的默认监听端口。

4. 启动JMeter

本文中为了方便验证,压测时线程组设置为“无限循环” ,可根据实际需求去调整。

启动成功后, JMeter Prometheus 会默认在本地创建一个端口为9270的服务。 访问网址:http://localhost:9270/metrics 看到如下内容就说明成功了

5. 启动 Prometheus

启动 PrometheusPrometheus 将开始从 JMeter Prometheus 插件中抓取数据。如下图配置和启动成功后能在Prometheus中看到设置的target

6. 配置Grafana

Grafana官网,查找官网提供的prometheus-jmeter监控面板。这里选用ID14927的模版导入到Grafana中。

点击Load之后选择Promethues数据源。

注意: 测试中发现14927原始模版存在一些错误,本文编写过程中做了修复,需要的同学可以通过下面链接下载修复后的模版导入: github.com/smart-doc-g…

模版导入成功后我们就可以在Grafana中看到整个性能压测的监控数据了。

为了大家可以快速的感受整个的压测流程,smart-doc社区也整理提供一个采用docker-compose一键启动体验的模版。如果想通过k8s部署来体验,也可以借助一些国内大模型AI工具直接把docker-compose的模版转化成k8s部署模版。

体验项目中也包含使用说明

相关代码地址:github.com/smart-doc-g…

3、Smart-doc在性能压测实践中的优点

使用 Smart-docJMeter 的组合进行性能压测,有以下几个优点:

自动化: Smart-doc 可以自动从源码中提取 API 信息,自动生成 JMeter 性能压测脚本,无需手动编写,大大提高了效率。

精确: Smart-doc 自动生成的JMeter 性能压测脚本,与源码中的 API 定义完全保持一致,避免了手动编写脚本时可能出现的错误。

灵活: Smart-doc 支持多种配置选项,可以根据测试需求定制生成的 JMeter 脚本。

后续smart-doc也会持续完善对JMeter的支持优化。请持续关注smart-doc开源项目: github.com/TongchengOp…

4、总结

通过结合smart-docJMeter,我们不仅可以自动化生成API文档,还能快速创建性能测试脚本并进行压测。这种集成的工作流程显著提高了开发和测试效率,同时帮助团队更容易地维护和优化软件系统的性能。希望本文为你提供了实用的参考,以便在日常工作中更加高效地应用这两个强大的工具。 我们也欢迎大家持续关注和支持smart-doc开源社区,未来我们也在探索更多语言的支持,为更多开发者赋能提效。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值