jmeter 命令行参数

jmeter 命令行参数,第1张

-?

打印命令行选项并退出

-h,--help

打印使用信息并退出

-v,--version

打印版本信息并退出

-p,--propfile <参数>

要使用的jmeter属性文件

-q,--addprop <参数>

其他JMeter属性文件

-t,--testfile <参数>

要运行的jmeter test(jmx)文件

-l,--logfile <参数>

将样本记录到的文件

-i,--jmeterlogconf <参数>

jmeter日志记录配置文件(log4j2xml)

-j,--jmeterlogfile <参数>

jmeter运行日志文件(jmeterlog)

-n,--nongui

在命令行模式下运行JMeter

-s,--server

运行JMeter服务器

-H,--proxyHost <参数>

设置供JMeter使用的代理服务器

-P,--proxyPort <参数>

设置代理服务器端口以供JMeter使用

-N,--nonProxyHosts <参数>

设置非代理主机列表(例如 apacheorg | localhost)

-u,--username <参数>

设置JMeter使用的代理服务器的用户名

-a,--password <参数>

设置JMeter使用的代理服务器的密码

-J,--jmeterproperty <参数> = <值>

定义其他JMeter属性

-G,--globalproperty <参数> = <值>

定义全局属性或属性文件(发送到服务器)

例如-Gport = 123

或-Gglobalproperties

-D,--systemproperty <参数> = <值>

定义其他系统属性

-S,--systemPropertyFile <参数>

其他系统属性文件

-f,-forceDeleteResultFile

在开始测试之前,强制删除现有结果文件和Web报告文件夹(如果存在)

-L,--loglevel <参数> = <值>

[类别=]级别,例如jorphan = INFO,jmeterutil = DEBUG或comexamplefoo = WARN

-r,-runremote

启动远程服务器(在remote_hosts中定义)

-R,--remotestart <参数>

启动这些远程服务器(覆盖remote_hosts)

-d,--homedir <参数>

要使用的jmeter主目录

-X,--remoteexit

测试结束时退出远程服务器(CLI模式)

-g,--reportonly <参数>

仅从测试结果文件生成报告仪表板

-e,--reportatendofloadtests

负载测试后生成报告仪表板

-o,--reportoutputfolder <参数>

报告仪表板的输出文件夹

一、参数 -J 和 -G

1、格式:-J变量名=值 -G变量名=值

2、相同之处:设置jmeter属性,例如线程数、循环次数、ramp up-time等

3、不同之处:-J是设置本地jmeter属性;-G是设置server的jmeter属性(只有设置了远程机,开启了远程服务,才需要用到-G)

4、以设置本地jmeter属性为例,先在windows下编辑脚本,将线程数、循环次数、ramp up-time等参数化

步骤一、添加用户自定义变量(添加变量的具体方法请参考 Jmeter添加变量的四种方法 )

步骤二、将线程属性和用户自定义变量关联起来

步骤三、运行脚本,验证变量是否设置成功

二、命令行启动示例:

2 左边树将出现测试计划、工作台两根节点。

3 选择测试计划,按右键-》添加-》threads(users)线程组

线程组能设置以多少个线程并发做压力测试。

在”循环次数”设置不选择永远,循环次数设置1。

4 现在先介绍如何设置登录>

路径:选中测试计划右键-添加-线程-线程组

1 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

2 Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就2秒内启动10,每秒启动的数量随机。

3 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

4 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)

与Stepping Thread Group线程组有些类似,不过这个是多个线程组设置的结合。执行的时候,每个线程组是同时按照自己的规则开始执行的,每一时刻,得到的结果都是两个线程组的叠加(插件自行寻找)

This Group will start 10 threads:这次的测试总共会起10个线程。

First , wait for 0 seconds:等待0s后开始起线程,也就是不等待直接起线程。

Then start 0 threads;从0个线程开始持续增加。

Next,add 2 threads every 3 seconds:每增加2个线程后会运行3s,再起余下的2个线程,再运行3s,以此类推。

Using ramp-up 6seconds:前面每起2个线程的时候花6s,与上面结合起来即6s内起2个线程,运行3s,然后再6s内再起2个线程,再运行3s,以此类推。

Then hold load for 30 seconds :全部的线程起来后,运行30s 后开始停止。

Finally , stop 2 threads every 1 seconds:最后停止线程,2个线程停一次,等1s再停2个线程。

在使用JMeter进行性能测试时,以下情况经常出现:

1测试过程中,指定运行的线程数、指定运行循环次数不断改变;

2访问的目标地址发生改变,端口发生改变,需要改写脚本。

在非GUI运行脚本模式下,我们可以通过动态修改内置属性的办法来避免修改脚本

JMeter测试计划在运行Sampler之前先加载配置文件(jmeterproperties,systemproperties等),读取属性,所以那么我们可以借助属性来实现。

修改这些配置文件,麻烦且不现实。JMeter提供了方法可以动态修改属性,在命令行使用 -J 来指定 JMeter Properties ,使用 __P() 函数来获取命令中指定的属性值。( jmeterbat -help | jmetersh -help 可以查看帮助)

如图,首先:在testjmx测试脚本中用 ${__P(threadCount,)} 来获取threadCount的值; ${__P(cycle,)} 来获取cycle的值,是参数名设置。

接下来就是在启动命令中传递这两个参数:

JMeter 命令行通过 -D 来指定System Properties,类似于Jdk中我们用-D来指定一些系统属性,比如开启JMX远程监控。

在JMeter脚本中我们用 __property() 函数来获取,比如 -Durl=127001

如图:首先在测试脚本中用 ${__property(url,,)} 来设置变量用以接收

接下来就是在启动命令中传递这两个这个值

同理要动态化端口,首先脚本中用 ${__property(port,,)} ,启动命令用 -Dport=8080 传递参数就可以了。

取值规则:

    1单线程,多次循环,只会取用户_1的值

    2多个线程,单次循环,每个线程取一个用户的值,如果线程数超出用户数,会循环从第一个会继续取值

    3多个线程,多次循环,每个线程的取值同上,单个线程多次循环取值相同。

     选中线程组,点击右键,添加-配置元件-CSV Data Set Config

    注:每一次单独运行调用都要从文件的第一组数据开始

     步骤:

        1选择要读取的本地文件路径

        2,设置字符编码(一般就是UTF-8)

        3,设置变量名称(与本地文件的列对应,一列为一个变量)

        4,规定分隔符(与本地文件中分隔符保持一致,一般用“,”)

     其他选项解释:

        1、Ignore fist line(。。。):当文件第一行为变量名是是否忽略

       2、ecycle on EOF:是否循环读取参数文件内容。默认设置为 true。通常在线程组的线程数 线程组的循环          次数      > 参数文件行数时,才需要将此项设置为 true。

        3、Sotp thread on EOF:当读取到参数文件末尾时,是否停止读取线程。默认为 false。当 Recycle on         EOF     设置为 true 时,此项不起任何作用。

注:每次调用都会生成新的值

     步骤:

        1、2唤出函数对话框

        3、选择_CSVRead

        4、填写本地文件路径

        5、填写读取文件的第几列(从0开始)

        6、生成函数和函数取值结果

        7、核对结果是否正确

        8、复制函数使用

     步骤:

        1、选择_Random

        2、填写随机数范围的最小值

        3、填写随机数范围的最大值

        4、生成函数(5)和函数取值结果(6)

        5、复制函数在需要的地方使用

        6、核对结果是否正确

     步骤:

        1、选择_RandomString

        2、填写需要生成字符串的长度

        3、填写字符串生成的字符范围

        4、生成函数和函数取值结果

        5、复制函数使用

        6、核对结果是否正确

1)第一组设置效果:

线程数:5

循环次数:1

Ramp-Up-Period(in seconds):5,表示在5秒内将“线程数:5”全部启动,循环次数是1

PS:

A在一般性能测试中,在jmeter里面可以用调度器,设置持续时间。

B如果设置了调度器就会覆盖上面循环次数的设置

以上就是关于jmeter 命令行参数全部的内容,包括:jmeter 命令行参数、如何使用Jmeter进行压力测试、jmeter-线程组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9646469.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存