jmeter命令行执行脚本_动态参数设置
从04月换公司开始,就没静下来心来学习,其中发生了比较多的事情吧,不过不管如何,没坚持学习还是因为懒。本周交接完,下周去入职新公司,该静下心来学点什么了。
-----------------------------------------------------------分割线-------------------------------------------------------------
最近看到在Linux上折腾jmeter的人越来越多,不过即使在windows上,jmeter的脚本我还是建议用命令行来执行(降低GUI模式带来的性能损耗,不过拿jmeter来做接口测试的无所谓)。做性能测试的时候,有时候可能需要不停的去设置“线程组”那个界面的参数(例如线程数、循环次数、持续时间等),而每次修改-->保存-->cmd中运行总感觉麻烦,那就找一种方法可以在命令行中直接指定参数的值。
查看相关资料实操,可以发现JMeter的测试计划在运行Sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且JMeter还提供了方法可以动态修改属性,在命令行中使用【-J】 来指定JMeter Properties,脚本里面使用__P() 函数来获取命令中指定的属性值,那么方法就出来了。
配置说明:
1、并发数设置为${__P(concurrent_number,1)},循环次数取消勾选Forever,设置为${__P(cycles,1)},其中后面的1是默认值,作用是执行一次来调试脚本,这是__P函数的功能(虽然我一直都是用GUI模式来调试脚本的)
2、执行时长设置为${__P(duration,60)},默认1分钟(60s),如果同时设置了循环次数和执行时长,那么满足其中一个条件脚本就会停止。
那么先试试吧,默认执行脚本,命令行如下:
jmeter -n -t \tmp\cnblgo.jmx(脚本的绝对路径)
从上图可以看出,脚本执行了一次,持续了0.7s,是OK的。
查看Jmeter的源码,可知执行次数=-1时即表示Forever。以50并发执行120s的命令行如下:(为了直观,我直接生成测试报告用web界面的形式看,否则-l后面的可以不写)
jmeter -n -t C:\Users\zhoulinjie\Desktop\cnblgo.jmx -Jconcurrent_number=5 -Jduration= -Jcycles=- -l report.jtl -e -o C:\Users\zhoulinjie\Desktop\report
打开生成的测试报告文件,index.html,如下:
还有其他的组合就不截图了,需要什么参数,直接用-J+${}+__P()即可。同理,线程组界面中的Ramp-Up Period(in seconds)也是可以通过这种方式设置的。
jmeter命令行执行脚本_动态参数设置的更多相关文章
- Jmeter命令行执行并生成HTML报告
前提:准备好jmeter脚本,找到jmeter配置文件查看生成的日志格式是否为csv,如果不是请改为csv 注意:使用命令执行jmeter脚本必须使用jmeter 3.0及以上版本1.使用命令行执行脚 ...
- JMeter命令行方式运行时动态设置线程数及其他属性(动态传参)
在使用JMeter进行性能测试时,以下情况经常出现: 1.测试过程中,指定运行的线程数.指定运行循环次数不断改变: 2.访问的目标地址发生改变,端口发生改变,需要改写脚本. 上面的问题在GUI中,直接 ...
- JMeter命令行执行+生成HTML报告
1.为什么用命令行模式 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死: 所以一般采用的方式是在GUI模式下调整测试脚本,再用命令行模式执行: 命令 ...
- Laravel5 (cli)命令行执行脚本及定时任务
Artisan是Laravel自带的命令行接口名称,它提供了很多有用的命令想要查看所有可用的Artisan命令,可使用list命令查看: 1 php artisan list 每个命令都可以用help ...
- Jmeter:非 GUI 命令行执行脚本文件
介绍 进行性能测试时,Jmeter 官方文档声明是不建议在 GUI 执行的,此时需要用到命令行. 第一步:环境配置 把 Jmeter安装目录\bin 添加到 系统环境变量path 第二步:命令参数 - ...
- Jmeter非命令行执行脚本
这次我们可以清晰地看到每个线程的执行情况. 这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令: -h 帮助 -> 打印出有用的信息并退出 -n 非 GUI 模式 -& ...
- JMeter命令行执行及问题解决 Error in NonGUIDriver java.lang.RuntimeException: Could not find the TestPlan class!
下面介绍的是在windows环境下如何运行jmeter linux 命令相同 1.首先要准备好脚本,并且设置好线程属性,假设我们设置一个线程,循环一次. 2. ...
- Jmeter 非 GUI 命令行执行脚本文件
https://www.cnblogs.com/yebaofang/p/9803273.html
- 关于jmeter命令行执行.jmx文件出现Error in NonGUIDriver java.lang.RuntimeException: Could not find the TestPlan c
随机推荐
- iPhone 照片为heic格式怎么处理?
解决办法: 永久解决:进入 相机设置 为 兼容模式即可 这样设置以后拍出来的就是jpg格式啦. 之前的heic的照片可以用,格式工厂 批量转化一下. 文章来源:刘俊涛的博客 欢迎关注公众号.留 ...
- TP5.1框架最后登录时间不会更新
最后登录时间:2019-5-1 14:44 发现系统管理员时间总是停留在这个时间,后来才发现原来是时间没有自动更新. 手册地址:https://www.kancloud.cn/manual/thi ...
- 微信小程序开发者工具详解
一.微信小程序web开发工具下载地址 1.1 在微信公众平台-小程序里边去下载开发工具下载地址. 1.2 下载后安装一下就可以使用了: 二.创建项目 2.1 微信小程序web开发工具需要扫码登陆,所以 ...
- Spring Boot CLI——centos7
Spring Boot是一个命令行工具,用于使用Spring进行快速原型搭建.它允许你运行Groovy脚本,这意味着你可以使用类Java的语法,并且没有那么多的模板代码. 所有版本下载地址这里下载的版 ...
- 目标检测标注工具labelImg安装及使用
目标检测中,原始图片的标注过程是非常重要的,它的作用是在原始图像中标注目标物体位置并对每张图片生成相应的xml文件表示目标标准框的位置.本文介绍一款使用方便且能够标注多类别并能直接生成xml文件的标注 ...
- Typescript中的类 Es5中的类和静态方法和继承(原型链继承、对象冒充继承、原型链+对象冒充组合继承)
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- openresty开发系列3--nginx的平滑升级
openresty开发系列3--nginx的平滑升级 nginx服务器从低版本升级为高版本,如果强行停止服务,会影响正在运行的进程. 平滑升级不会停掉正在运行中的进程,这些进程会继续处理请求.但不会接 ...
- Promise.resolve的作用
Promise.resolve方法有下面三种形式: Promise.resolve(value); Promise.resolve(promise); Promise.resolve(thenable ...
- asp.net Forms身份验证详解
在做网站的时候,都会用到用户登录的功能.对于一些敏感的资源,我们只希望被授权的用户才能够访问,这让然需要用户的身份验证.对于初学者,通常将用户登录信息存放在Session中,笔者在刚接触到asp.ne ...
- 触屏Tap模拟事件
触屏的click因为有双击判断所以有200ms的延迟,zepto里的touch.js兼容不好所以tap也没法直接用. gibhub上有个fastclick太大了. 自己用touched写个简单的模拟t ...