李小龙:我不怕学一万种腿法的人,我怕的是一种腿法练一万次的人。
近期,再有机会做性能测试,重拾 20 年按测试平台的规划,统一规范性能测试项目文件目录(v2.0)-- Python 调 Jmeter 执行 自定义多场景多个 jmx 测试计划,达成半步无人值守 (一),忍笑不禁。看着旧代码还有优化的空间,于是并按一个更方便、更标准、更规范的要求给代码做重构。
更方便
手动创建文件夹更少,输入参数更少,执行命令更少
更标准
减少了非必要过程文件
更规范
兼容 windows、linux、macos 操作系统使用,并美化了汇总报表。
注重全局,同时不遗漏过程细节,更容易发现问题,找到性能拐点
这里 jmeter + influxdb + grafana 的搭建就不在这过多阐述,毕竟网络上教程很多,通过 docker 搭建也快捷。
需要将 jmeter 追加的 path 路径中
创建性能测试项目
--project
----jmx
------*.jmx
----start.py
安装 python 必要模块
pip install -U efficient_test --user
start.py 文件内容,通常是
from efficient_test.jmeter import combine_cli_exec, gen_summary_report
# 这里用于测试的前置准备,例如生成测试输入参数文件
def initdata():
pass
initdata()
# '.' 指性能测试项目所在地址
# x 指线程数
# 10 是循环次数
# per_testplan_sleep 是每次执行jmx后停顿时间
[ combine_cli_exec('.', x, 10, per_testplan_sleep=2) for x in range(1,10) ]
gen_summary_report('.')
python3 start.py