现有几个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. Python基础笔记:list和tuple

    list 与 tuple 就类似于C语言中的数组,list 与 tuple 的区别就是list 可修改,而tuple不可修改: list用法示例: >>> s=[] >> ...

  2. OpenJudge - NOI - 1.1编程基础之输入输出(C语言 全部题解)

    01:Hello, World! #include <stdio.h> int main(void) { printf("Hello, World!"); return ...

  3. Spark 2.x 在作业完成时却花费很长时间结束

    使用 Apache Spark 2.x 的时候可能会遇到这种现象:虽然 Spark Jobs 已经全部完成了,但是程序却还在执行.比如我们使用 Spark SQL 去执行一些 SQL,这个 SQL 在 ...

  4. Mysql升级、免安装版MYSQL安装与卸载

    1.         备份好数据库:表结构和数据: 2.         备份my.ini文件和data文件夹: 3.         卸载旧版本mysql: 4.         安装新版本mysq ...

  5. vue学习(八)nextTick[异步更新队列]的使用和应用

    nextTick的使用 为了数据变化之后等待vue完成更新DOM,可以在数据变化之后立即使用Vue.nextTick()在当前的回调函数中能获取最新的DOM <div id="app& ...

  6. 【剑指Offer】面试题05.替换空格

    题目 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20are ...

  7. Web基础之Redis

    Redis 什么是Redis?Redis是一个基于内存的非关系型数据库,简单来说就是一个可持久化的高速缓存. 常用场景: 缓存(数据查询,端链接,新闻内容,商品内容等等)--使用最多 聊天室的在线好友 ...

  8. Java基础之内省

    Java基础之内省 什么是内省   首先,我们要知道什么是内省.按我自己的理解就是在反射的原理上进行封装,来更方便的操作JavaBean JavaBean就是特殊格式的类,其规范为: JavaBean ...

  9. 19 01 16 jquery 的 属性操作 循环 jquery 事件 和事件的绑定 解绑

    jquery属性操作 1.html() 取出或设置html内容 // 取出html内容 var $htm = $('#div1').html(); // 设置html内容 $('#div1').htm ...

  10. No enclosing instance of type test is accessible. Must qualify the allocation with an enclosing inst

    今日遇到一个报错如下: No enclosing instance of type test is accessible. Must qualify the allocation with an en ...