jemter两种转换成HTML测试报告的方法

以下两种模式都需要先配置(这个配置的意思是:生成HTML报表的打点间隔):

1.进入jmeter的bin目录下,修改reportgenerator.properties

2.修改jmeter.reportgenerator.overall_granularity=1000(报表中数据展示间隔1秒)

GUI模式

1、首先把聚合报告保存到本地,文件格式为xx.jtl

2、进入到jemter的bin目录下,用命令

jmeter -g D:\Jmeter\apache-jmeter-4.0\bin\result.jtl -e -o F:\JmeterReport

说明:

-g   --指定已存在的测试结果

-o  指定测试报告的存放位置,指定的文件夹必须是不存在的,否则执行失败(如图所示)

-e:测试结束后,生成测试报告

非GUI模式

以下命令都必须在jemter的bin目录下运行

执行命令

jmeter -n -t F:\TestScript\Controller\SQL.jmx -l result.jtl -e -o F:\report 

PS:

1、如果不需要直接生成HTML测试报告,则取消 -e -o F:\report 即可,测试完毕后再通过方式一的方法生成HTML报告即可

2、如果在非GUI模式下jemter报错,可以查看jmeter.log日志,日志生成的目录是运行脚本的目录

说明:

-n:非GUI模式执行JMeter(no gui)

-t:执行测试文件所在的位置(test plan)

-l:指定生成测试结果的保存文件,jtl文件格式(jtl格式)

-e:测试结束后,生成测试报告

-o:指定测试报告的存放位置

非GUI模式下的一些参数&配置介绍

1、Linux下执行命令:./jemter -n -t test.jmx -l result.jtl 命令行会默认每隔30秒打印一次结果,如果想要修改30秒这个值,在jemter/bin 目录下有个jmeter.properties文件,搜索30,打开注释,修改30即可

jemter两种转换成HTML测试报告的方法_第1张图片

2、每隔30秒打印一次结果,结果表示的含义是

jemter两种转换成HTML测试报告的方法_第2张图片

那么现在有这样一个问题:那如果要使用10个线程,执行10s,怎么操作呢?是不是需要修改脚本,然后再执行呢?如果还有更多场景,是不是每次都要修改脚本呢? 
其实没这么麻烦,参数中有个 -J 参数【Non_GUI模式时传入参数使用】,我们可以使用这个参数来传参,详细步骤如下: 
1. 参数化脚本中的Number of Threads(users)【线程数】和Durations(seconds)【持续时间()秒】。 
2. 我们在测试计划中添加如下参数:
--------------------- 
原文:https://blog.csdn.net/elladu/article/details/51577589/ 

参数说明: ${__P(threads,1)} ,threads为执行脚本时传参的名称,1为默认值,如果threads 为空的时候,取值1。格式一定是:${__P(参数名,默认值)},注意中间是两个下划线。

jemter两种转换成HTML测试报告的方法_第3张图片

执行脚本的时候传入参数,用 -J 参数名=value 的形式传入。

jmeter -n -t .\scripts\test.jmx -J threads=10 -J duration=10  -l .\jtl\test001.jtl -j .\jtl\test001.log

命令参数

 

-h, --help
                print usage information and exit
         #打印帮助信息 
        -v, --version
                print the version information and exit
          #打印版本信息
        -p, --propfile {argument}
                the jmeter property file to use
          #运行时指定property文件,默认是使用JMETER_HOME/bin目录下的jmeter.properties,如果用户自定义有其它的配置,在这里加上
          #用法如下: -p user.properties
        -q, --addprop {argument}
                additional property file(s)
          #其它配置文件,如JVM参数等等
        -t, --testfile {argument}
                the jmeter test(.jmx) file to run
          #要运行的jmeter脚本
        -j, --jmeterlogfile {argument}
                the jmeter log file
          #指定记录jmeter log的文件,默认为jmeter.log
        -l, --logfile {argument}
                the file to log samples to
          #记录采样器Log的文件
        -n, --nongui
                run JMeter in nongui mode
          #以nongui模式运行jmeter
        -s, --server
                run the JMeter server
          #运行JMeter server
        -H, --proxyHost {argument}
                Set a proxy server for JMeter to use
          #代理服务器地址
        -P, --proxyPort {argument}
                Set proxy server port for JMeter to use
          #代理服务器端口
        -u, --username {argument}
                Set username for proxy server that JMeter is to use
          #代理服务器的用户名
        -a, --password {argument}
                Set password for proxy server that JMeter is to use
          #代理服务器用户名对应的密码
        -J, --jmeterproperty {argument}={value}
                Define additional JMeter properties
          #定义额外的Jmeter属性
        -G, --globalproperty (argument)[=(value)]
                Define Global properties (sent to servers)
                e.g. -Gport=123
                 or -Gglobal.properties
          #定义发送给server的全局属性
         #如:-Gport=123 或者-Gglobal.properties(指定监听server的端口)
        -D, --systemproperty {argument}={value}
                Define additional System properties
          #定义系统属性
        -S, --systemPropertyFile {filename}
                a property file to be added as System properties
         #通过指定的property文件定义系统属性
        -L, --loglevel {argument}={value}
                Define loglevel: [category=]level 
                e.g. jorphan=INFO or jmeter.util=DEBUG
          #定义日志等级
        -r, --runremote (non-GUI only)
                Start remote servers (as defined by the jmeter property remote_hosts)
          #启动远程server(在jmeter property中定义好的remote_hosts),公在non-gui模式下此参数才生效
        -R, --remotestart  server1,... (non-GUI only)
                Start these remote servers (overrides remote_hosts)
          #启动远程server(如果使用此参数,将会忽略jmeter property中定义的remote_hosts)
        -d, --homedir {argument}
                the jmeter home directory to use
                #Jmeter运行的主目录
        -X, --remoteexit
                Exit the remote servers at end of test (non-GUI)
          #测试结束时,退出(在non-gui模式下)

你可能感兴趣的:(jemter)