现有几个jmeter脚本,准备以命令行的方式执行jmeter脚本,并生成报告。

一、使用python语言处理

1、目录结构

2、说明

jmx目录下是jmeter脚本

result目录下是生成的报告及文件

jtl目录下是执行过程中生成的jtl文件,jtl文件名不能重复,所以给jtl文件以时间戳命令

report目录下是生成的报告,在report目录下自动给每个脚本创建目录,创建的目录下存放以时间戳命令的报告

3、代码

import os
import time def dir_is_exists(path):
if not os.path.exists(path):
os.mkdir(path) def run():
jtl_dir_path = os.path.abspath("./result/jtl") # jtl文件存放目录
dir_is_exists(jtl_dir_path)
jmx_dir_path = "./jmx" # jmeter脚本存放路径
dir_is_exists(jmx_dir_path)
report_path = "./result/report" # jmeter生成的测试报告存放路径
dir_is_exists(report_path)
for file in os.listdir(jmx_dir_path):
file_name, etc = os.path.splitext(file)
jmx_path = os.path.join(os.path.abspath(jmx_dir_path), file)
jmx_report_path = os.path.join(report_path, file_name)
dir_is_exists(jmx_report_path)
current_time = time.strftime("%Y%m%d%H%M%S", time.localtime())
currentReport = os.path.join(os.path.abspath(jmx_report_path), current_time)
jtl_path = os.path.join(jtl_dir_path, "{}.jtl".format(current_time))
cmd_jmx = "jmeter -n -t {} -l {} -e -o {}".format(jmx_path, jtl_path, currentReport)
print(cmd_jmx)
os.system(cmd_jmx) if __name__ == '__main__':
run()

 4、接口自动化结果展示

生成的文件

报告展示

二、使用bat脚本处理

1、目录结构

2、说明

目录结构和上面的相似

code目录下是jmx脚本

result目录下是生成 的结果文件,report目录和jtl目录

3、bat脚本

@echo off
set filename=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
set "filename=%filename: =0%"
echo %filename% d:
cd D:\software\apache-jmeter-4.0\bin jmeter -n -t D:\code\jmeter-code\code\1001.jmx -l D:\code\jmeter-code\result\jtl\%filename%.jtl -e -o D:\code\jmeter-code\result\report\%filename%

4、结果

报告都一样,一个模板,不发了

对bat脚本运用没有python语言熟练,这是简单尝试,以后熟练了再更新

cmd执行jmeter命令生成报告的问题。的更多相关文章

  1. jmeter自动生成报告

    从JMeter 3.0开始已支持自动生成动态报告,我们可以更容易根据生成的报告来完成我们的性能测试报告. 如何生成html测试报告 如果未生成结果文件(.jtl),可运行如下命令生成报告: jmete ...

  2. CMD执行BCP命令

    C:\>BCP "EXEC GetU '2016-7-11' ,'-1'" queryout "C:\\C3Marketing\SummaryReport_test ...

  3. Postman—命令执行脚本及生成报告

    前言 前面的应用中,都是在postman图形界面工具里面进行测试,但是有时候我们需要把测试脚本集成到CI平台,或者在非图形界面的系统环境下进行测试,那么我们该如果处理呢 通过newman来执行post ...

  4. pytest 学习笔记二:兼容unittest、执行方式、生成报告

    1.官方文档上说pytest兼容unittest时,不支持setUpModule 和 tearDownModule,但实际验证是可以的. 验证的场景是py文件中,只有一个测试类, 经验证有多个测试类, ...

  5. jmeter(二十五)linux环境运行jmeter并生成报告

    jmeter是一个java开发的利用多线程原理来模拟并发进行性能测试的工具,一般来说,GUI模式只用于创建脚本以及用来debug,执行测试时建议使用非GUI模式运行. 这篇博客,介绍下在linux环境 ...

  6. 【JMeter】生成报告-Dashboard Report

    Dashboard Report 用于生成HTML页面格式图形化报告 1.在JMmeter性能测试结束时,自动生成本次测试的HTML图形化报告 2.使用一个已有的结果文件(如CSV)来生成该次的HTM ...

  7. java调用cmd执行maven命令

    一.原理介绍 Java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后封闭命令窗口. cmd /k di ...

  8. .Net 通过Cmd执行Adb命令 /c参数

    通过cmd.exe来执行adb命令,可以进行一些命令组合,直接用adb.exe的话只能执行单个adb命令 这里要注意cmd 中的/c参数,指明此参数时,他将执行整个字符串中包含的命令并退出当前cmd运 ...

  9. Python脚本实现在cmd执行相关命令

    通过Python脚本实现,在cmd命令执行文件的cp(复制).rm(删除).rename(重命名).move(文件移动).mkdir(创建目录) cmd执行命令格式:python xxx.py 用户名 ...

随机推荐

  1. 福州大学2020年春软工实践W班第二次作业

    作业描述 这个作业属于哪个课程 福州大学2020年春软工实践W班 这个作业要求在哪里 寒假作业(2/2) 这个作业的目标 开发一个疫情统计程序 作业正文 福州大学2020年春软工实践W班第二次作业 其 ...

  2. Python 实现类似range函数

    需求:写一个属于你自己的 frange函数,frange与range类似,一样的参数规则,但是每一项必须要是float类型 实现: 注意点,如何判断stop是否有参数传入,这里使用空字符判断,如fra ...

  3. 004、mysql使用SHOW语句找出服务器上当前存在什么数据库

    SHOW DATABASES; 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢.

  4. 101-PHP二维数组的元素输出三,封装成函数

    <?php $arr=array(array(76,87,68), array(65,89,95), array(90,80,66), array(90,95,65),5,234,56,'Hel ...

  5. spring boot配置druid连接池连接mysql

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  6. 每天一点点之 taro 框架开发 - 事件处理与样式表

    1.方法调用 state = { name:'张三' } test(){ this.state.name } <button onClick={ this.test.bind(this) } / ...

  7. Express ~ 获取表单 get 和 post 提交方式传送参数的对比

      一,获取 get 提交的参数   var id = req.query.id || ''   二,获取 post 提交的参数 var name = req.body.name || ''

  8. MYSQL 数据库名、表名、字段名查询

    //查询所有表的所有字段: select * from information_schema.columns where table_name='sys_users' 效果: //查询指定表的所有字段 ...

  9. swift之水纹动画

    import UIKit class CVLayerView: UIView { var pulseLayer : CAShapeLayer!  //定义图层 override init(frame: ...

  10. swift中实现cell中局部播放的动画效果

    在cell中 // 播放器动画效果 private var replicatorLayer:ReplicatorLayer = { let layer = ReplicatorLayer.init(f ...