smart-doc
是一个自动生成Markdown
、 HTML5
、 OpenAPI 3.0
等。smart-doc 的设计目标是简化文档编写流程,提高开发效率,保证文档的准确性和时效性。
在软件开发生命周期中,API文档的自动生成和接口的性能测试是提高开发效率和保证产品质量的关键步骤。通过增加生成JMeter的能力,smart-doc
3.0.1
版本中的脚本,开发者可以更加方便的完成这两项任务。
本文将介绍如何使用smart-doc和JMeter进行有效的性能测试。
使用smart-doc
生成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 的lib/ext
目录中安装 Prometheus 插件。您可以从 JMeter 插件管理器或
127.0.0.1
,默认情况下会阻止 Prometheus 连接 JMeter Prometheus 监听端口,因此需要在jmeter.properties
中添加prometheus.ip=0.0.0.0
。打开 JMeter,并将 Prometheus Listener 添加到您的测试计划中。这可以通过右键单击测试计划->添加->监听器-> Prometheus Listener来完成。
listener的配置可以参考官方的设置,参考如下( smart-doc 3.0.4
支持配置添加Prometheus Listener生成):
在 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
启动Prometheus
后,它会开始从 JMeter Prometheus 插件中获取数据。如下面的配置所示,启动成功后,你就可以在Prometheus
中看到所设置的 Targets。
在Grafana
官网上,找到官网提供的prometheus-jmeter监控面板,这里我们选择ID为14927
的模板导入到Grafana中。
点击加载后,选择Prometheus
数据源。
14927
存在一些错误。这些错误在本文撰写过程中已修复。导入从下载的更正模板
模板导入成功之后,我们将可以在Grafana
中看到整个性能测试的监控数据。
为了方便大家快速体验整个性能测试流程, smart-doc
社区整理并提供了通过docker-compose
一条命令即可启动的模板。 对于希望通过Kubernetes
部署方式体验的同学,也可以利用AI工具直接将docker-compose
模板转化为Kubernetes
部署模板。
体验项目还包括使用说明。
本文的示例代码可以在这里找到
smart-doc
与 JMeter 结合进行性能压力测试有几个优点:
smart-doc
可以自动从源代码中提取API信息并生成JMeter性能测试脚本,无需手工编写,大大提高效率。
smart-doc
生成的JMeter性能测试脚本与源代码中的API定义完全一致,避免了手动编写脚本可能出现的错误。
smart-doc
支持多种配置选项,允许根据测试要求定制生成的JMeter脚本。
smart-doc
还将继续改进和优化对 JMeter 的支持。敬请期待
通过smart-doc
与JMeter的结合,我们不仅可以自动化生成API文档,还可以快速创建性能测试脚本并进行压力测试,这一自动化工具大大提升了开发和测试效率,同时帮助团队更轻松地维护和优化软件系统的性能。
我们希望本文能为您提供实用的参考,以便您在日常工作中更有效地应用这些工具。
也欢迎大家继续关注和支持smart-doc开源社区,未来我们正在探索支持更多语言,以协助更多开发者。