paint-brush
如何使用 Smart-Doc 简化 JMeter 脚本创建经过@hacker9169629
365 讀數
365 讀數

如何使用 Smart-Doc 简化 JMeter 脚本创建

经过 5m2024/06/30
Read on Terminal Reader

太長; 讀書

Smart-doc是一款自动生成API文档和性能测试的工具,通过分析源代码中的接口和注释来生成文档。使用smart-doc生成性能测试脚本可以大大减少编写脚本的时间。使用`smart-doc`自动生成的JMeter脚本可以直接在JMeter中运行,无需进行复杂的配置。
featured image - 如何使用 Smart-Doc 简化 JMeter 脚本创建
undefined HackerNoon profile picture

smart-doc是一个自动生成Java 接口文档。通过分析源码中的接口和注释来生成文档,支持多种文档输出格式,包括MarkdownHTML5 OpenAPI 3.0。smart-doc 的设计目标是简化文档编写流程,提高开发效率,保证文档的准确性和时效性。


在软件开发生命周期中,API文档的自动生成和接口的性能测试是提高开发效率和保证产品质量的关键步骤。通过增加生成JMeter的能力,性能测试smart-doc 3.0.1版本中的脚本,开发者可以更加方便的完成这两项任务。


本文将介绍如何使用smart-doc和JMeter进行有效的性能测试。


生成 JMeter脚本

使用smart-doc生成JMeter性能测试脚本可以大大减少编写性能测试脚本的时间,从而提高测试效率。smart smart-doc自动生成的JMeter脚本可以直接在JMeter中运行,不需要复杂的配置和调试,使性能测试变得更加简单和快捷。


首先确保您的项目已经添加了smart-doc-maven-plugin ,然后在项目的pom.xml文件中配置smart-doc插件的相关参数,例如:


 <plugin> <groupId>com.ly.smart-doc</groupId> <artifactId>smart-doc-maven-plugin</artifactId> <version>[latest version]</version> <configuration> <configFile>./src/main/resources/smart-doc.json</configFile> <projectName>${project.description}</projectName> </configuration> </plugin>


运行命令mvn -Dfile.encoding=UTF-8 smart-doc:jmeter ,Smart-doc会扫描项目源代码,提取注释信息,自动生成对应的JMeter性能测试脚本。


不懂如何使用的可以参考官方智能文档

导入JMeter

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


配置 Prometheus

普罗米修斯是一款开源的时序数据监控报警工具,我们可以利用它在JMeter压力测试过程中进行实时监控,从而增强性能测试的可观察性。

步骤1:安装JMeter Prometheus插件

首先,您需要在 JMeter 的lib/ext目录中安装 Prometheus 插件。您可以从 JMeter 插件管理器或官方网站。也可以从GitHub 。对于本实例,从 GitHub 下载最新版本 0.7.1。


  • 注意: JMeter 默认监听 IP 地址为127.0.0.1 ,默认情况下会阻止 Prometheus 连接 JMeter Prometheus 监听端口,因此需要在jmeter.properties中添加prometheus.ip=0.0.0.0

步骤2:添加Prometheus监听器

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

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


步骤3:配置Prometheus Scrape

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

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


这里, <Your JMeter machine IP>是运行 JMeter 测试的机器的 IP 地址, 9270是 JMeter Prometheus 插件的默认监听端口。


步骤 4:运行测试计划

本文为了验证方便,压力测试时将线程组设置为“无限循环”,可根据实际需要进行调整。



启动成功后,JMeter Prometheus会默认在本地9270端口创建一个服务。


访问 URL http://localhost:9270/metrics如果你看到下面的内容,就说明成功了。



















步骤5:启动Prometheus

启动Prometheus后,它会开始从 JMeter Prometheus 插件中获取数据。如下面的配置所示,启动成功后,你就可以在Prometheus中看到所设置的 Targets。


步骤6:配置Grafana

Grafana官网上,找到官网提供的prometheus-jmeter监控面板,这里我们选择ID为14927的模板导入到Grafana中。


点击加载后,选择Prometheus数据源。



  • 注意:测试时发现原始模板14927存在一些错误。这些错误在本文撰写过程中已修复。导入从下载的更正模板GitHub


模板导入成功之后,我们将可以在Grafana中看到整个性能测试的监控数据。



为了方便大家快速体验整个性能测试流程, smart-doc社区整理并提供了通过docker-compose一条命令即可启动的模板。 对于希望通过Kubernetes部署方式体验的同学,也可以利用AI工具直接将docker-compose模板转化为Kubernetes部署模板。



体验项目还包括使用说明。


本文的示例代码可以在这里找到这里

Smart-Doc 在 JMeter 性能测试中的帮助

smart-doc与 JMeter 结合进行性能压力测试有几个优点:

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


  • 精准:通过smart-doc生成的JMeter性能测试脚本与源代码中的API定义完全一致,避免了手动编写脚本可能出现的错误。


  • 灵活性: smart-doc支持多种配置选项,允许根据测试要求定制生成的JMeter脚本。


smart-doc还将继续改进和优化对 JMeter 的支持。敬请期待智能文档开源项目的持续开发

结论

通过smart-doc与JMeter的结合,我们不仅可以自动化生成API文档,还可以快速创建性能测试脚本并进行压力测试,这一自动化工具大大提升了开发和测试效率,同时帮助团队更轻松地维护和优化软件系统的性能。


我们希望本文能为您提供实用的参考,以便您在日常工作中更有效地应用这些工具。


也欢迎大家继续关注和支持smart-doc开源社区,未来我们正在探索支持更多语言,以协助更多开发者。