没有合适的资源?快使用搜索试试~ 我知道了~
首页基于Python组装jmx并调用JMeter实现压力测试
JMeter可以通过os命令调用Python脚本,Python同样可以通过系统命令调用JMeter执行压测 Python调用JMeter 首先要安装JMeter,官方下载地址 解压并配置配置环境路径或建立软连,使得在命令输入jmeter便可以执行,如 unzip apache-jmeter-5.3.zip mv apache-jmeter-5.3 /usr/loca/jmeter ln -s /usr/local/jmeter/bin/jmeter /usr/bin/jmeter ln -s /usr/local/jmeter/bin/jmeter-server /usr/bin/jm
资源详情
资源评论
资源推荐

基于基于Python组装组装jmx并调用并调用JMeter实现压力测试实现压力测试
JMeter可以通过os命令调用Python脚本,Python同样可以通过系统命令调用JMeter执行压测
Python调用调用JMeter
首先要安装JMeter,官方下载地址
解压并配置配置环境路径或建立软连,使得在命令输入jmeter便可以执行,如
unzip apache-jmeter-5.3.zip
mv apache-jmeter-5.3 /usr/loca/jmeter
ln -s /usr/local/jmeter/bin/jmeter /usr/bin/jmeter
ln -s /usr/local/jmeter/bin/jmeter-server /usr/bin/jmeter-server
打开JMeter并设计一个测试计划保存为testplan.jmx
使用使用Python调用调用JMeter压测并生成报告压测并生成报告
Python中可以使用os.system()或supprocess.Popen()调用系统命令,前者实时显示在屏幕上,后者可以获取到屏幕输出信
息。
使用Python调用JMeter运行及生成报告的命令如下。
import subprocess
jmx_file = 'testplan.jmx' # jmx文件路径
result_file = 'result.jtl' #
log_file = 'run.log'
report_dir = 'report'
run_cmd = f'jmeter -n -t {jmx_file} -l {result_file} -j {log_file}' # 无界面运行JMeter压测命令
report_cmd = f'jmeter -g {result_file} -o {report_dir}' # 生成HTML报告命令
# 不需要获取屏幕输出是,可以使用os.system()
# os.system(run_cmd)
# os.system(report_cmd)
# 需要获取屏幕输出是,可以使用subprocess.Popen()
p1 = subprocess.Popen(run_cmd, shell=True, stdout=subprocess.PIPE)
print(p1.stdout.read().decode('utf-8'))
p2 = subprocess.Popen(report_cmd, shell=True, stdout=subprocess.PIPE)
print(p2.stdout.read().decode('utf-8'))
组装组装jmx
每一测试计划为一个jmx文件,jmx实际上是xml格式的,包含一些JMeter自定义的格式规范。
常用的组件有:
: 测试计划
: 线程组
: CSV数据文件
: HTTP请求
: HTTP请求头管理器
: Cookies管理器
: DNS缓存管理器
: 监听器(包括查看结果树、聚合报告等)
: 响应断言
<io.github.ningyu.jmeter.plugin.dubbo.sample.DubboSample>
</io.github.ningyu.jmeter.plugin.dubbo.sample.DubboSample>: 三方Dubbo请求插件
Dubbo插件jmeter-plugins-dubbo下载链接
jmx中,如果一个组件有子组件,格式为
<ThreadGroup 组件基本属性>
...线程组配置
</ThreadGroup>
<hashTree>
...内部子组件
</hashTree>

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0