前言
前面的内容介绍了怎么使用python生成jmeter组件,前面介绍的组件可以实现简单的单接口性能测试了,本篇内容主要讲一下怎么用前面的jmeter组件去生成脚本,然后执行性能测试并生成测试报告。
生成jmeter脚本
前面介绍了怎么使用python生成jmeter脚本,本篇内容就不过多介绍了,可以查看《Python生成JMeter脚本》的专栏内容。
def run(file, conf):
"""
根据你的接口信息去生成自己的jmeter脚本
我这里的file和conf参数,是我接口测试用例和jmeter配置文件的信息
"""
print('开始测试')
"""
构建JMeter命令行命令
注意:根据你的JMeter安装路径和需要,命令可能有所不同
这里的例子假设JMeter的bin目录已添加到PATH中
如果你是Linux系统,使用JMeter的bin目录下的jmeter去执行
如果你是Windows系统,使用JMeter的bin目录下的jmeter.bat去执行
指定的结果文件目录要为空
"""
command = [
'jmeter',
'-n', # 非GUI模式
'-t', jmx_file, # 指定JMX文件
'-l', result.jtl, # 指定结果文件
'-e', # 生成报告
'-o', result_dir # 报告输出目录
]
# 运行JMeter命令
process = subprocess.run(command, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
# 打印输出(可选)
print("JMeter输出:")
print(process.stdout)
if process.stderr:
print("JMeter错误:")
print(process.stderr)
测试报告
jmeter执行会自动生成html格式的测试报告,如果你想生成自己的测试报告,可以根据结果保存文件result.jtl里面的内容去做自己的自定义测试报告。
自定义测试报告
打开result.jtl文件,查看文件的内容,文件内容包括了性能测试的结果,可以根据对应的测试结果,生成自己的测试报告。
后续
这样根据前几期的内容,我们就可以根据自己的接口自动化测试用例,或者接口信息来封装,就可以完成根据接口信息自动生成jmeter性能测试脚本。如果后端接口服务集成swagger,也可以根据swagger的api,获取接口信息来生成jmeter性能脚本。
后续我们继续介绍使用python生成jmeter各种组件,主要是一些逻辑控制器等内容,这样我们就可以自动生成更复杂的jmeter脚本。完成更多的性能测试场景,如:混合场景测试,稳定性测试等。