基于Jmeter的Dubbo API自动化测试实战(七)

本篇将讲述【ENV Data Set】插件和【Local HTML Report】插件在Non-Gui命令行模式下的使用方法。

一、命令行执行JMeter

一般调试脚本时我们都是在Gui模式下运行的,但同时JMeter也支持命令行执行,命令格式如下:

JMeterHome/bin/jmeter -n -t <filename>
  • -n 表示以non-gui模式运行JMeter(就是命令行执行的意思)
  • -t 后面接一个空格加filename,filename就是我们的jmx脚本路径

当然还有其他command option可选:

--?
    print command line options and exit
-h, --help
    print usage information and exit
-v, --version
    print the version information and exit
-p, --propfile <argument>
    the jmeter property file to use
-q, --addprop <argument>
    additional JMeter property file(s)
-t, --testfile <argument>
    the jmeter test(.jmx) file to run
-l, --logfile <argument>
    the file to log samples to
-i, --jmeterlogconf <argument>
    jmeter logging configuration file (log4j2.xml)
-j, --jmeterlogfile <argument>
    jmeter run log file (jmeter.log)
-n, --nongui
    run JMeter in nongui mode
-s, --server
    run the JMeter server
-H, --proxyHost <argument>
    Set a proxy server for JMeter to use
-P, --proxyPort <argument>
    Set proxy server port for JMeter to use
-N, --nonProxyHosts <argument>
    Set nonproxy host list (e.g. *.apache.org|localhost)
-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
-G, --globalproperty <argument>=<value>
    Define Global properties (sent to servers)
    e.g. -Gport=123
     or -Gglobal.properties
-D, --systemproperty <argument>=<value>
    Define additional system properties
-S, --systemPropertyFile <argument>
    additional system property file(s)
-f, --forceDeleteResultFile
    force delete existing results files and web report folder if present before starting the test
-L, --loglevel <argument>=<value>
    [category=]level e.g. jorphan=INFO, jmeter.util=DEBUG or com.example.foo=WARN
-r, --runremote
    Start remote servers (as defined in remote_hosts)
-R, --remotestart <argument>
    Start these remote servers (overrides remote_hosts)
-d, --homedir <argument>
    the jmeter home directory to use
-X, --remoteexit
    Exit the remote servers at end of test (CLI mode)
-g, --reportonly <argument>
    generate report dashboard only, from a test results file
-e, --reportatendofloadtests
    generate report dashboard after load test
-o, --reportoutputfolder <argument>
    output folder for report dashboard

以上是官网的原话,详细用法请到JMeter官网上查看,在这里就不再赘述,传送门:http://jmeter.apache.org/usermanual/get-started.html#non_gui

 

二、-J[prop_name]=[value]

要在Non-Gui命令行模式下使用【ENV Data Set】插件和【Local HTML Report】插件就必须借助 -J command option。

-J 的作用是什么,我们看一下官方的解释:

-J[prop_name]=[value]

        defines a local JMeter property.

Examples:

jmeter -Jremote_hosts=127.0.0.1

 我们翻译一下,意思就是在命令加上 -J 选项,就能定义一个本地的JMeter property。

获取property的值有两种方法:

  1. 在脚本文本中通过函数 ${__P(remote_hosts)} 。
  2. 在 BeanShell中利用 props.get("remote_hosts") 代码获取property的值。

 

三、插件的使用

要使用【ENV Data Set】插件和【Local HTML Report】插件同样也是利用 -J 选项:

JMeterHome/bin/jmeter  -JconfigName=test-1.env -JreportName=testreport.html -JisAppend=true -n -t xxx/xxx/TestService.createTestCustomer.jmx

只要在Non-Gui命令行模式下有-JconfigName、-JreportName和-JisAppend三个JMeter property的话,插件会优先读取property的值,而不管脚本中插件的对应的值是什么,所以大家不用担心会有影响。

脚本执行完毕就会生成html的测试报告了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值