本次记录是在工作中为了能更好的用jmeter进行压力测试,进行了几个小时的搜集资料,总结调试,最终顺利执行
希望每次总结的经验对测试行业的同学会有所帮助,少踩些坑!!!
==========================================================================
1.首先使用jmeter进行.jmx脚本制作
2.有两种操作
2.1.直接在线程组里面对所有参数进行固定数量设置,这样在用命令执行脚本时如果想改变线程数没法灵活操作
2.2(推荐)直接在线程组,对所有参数进行动态设置
备注:${__P(xxx,)} 一定注意格式,否则调用不到__P这个函数
3.脚本制作完成,在jmeter/bin目录下创建 testcase(存放制作的脚本.jmx)、log(存放jtl文件) 和 html (存放HTML报告)文件
备注:文件名字自定义(jtl文件生成之后看一眼就明白是什么,这里就不过多解释了)
4.打开dos命令框(基于windows),进入到jmeter下bin目录
5.如果需要生成报告,修改jmeter.properties文件(如果不需要生成报告,直接进行第6步操作)
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=false
Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
# Only available with HttpClient4
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=false
jmeter.save.saveservice.responseHeaders=false
jmeter.save.saveservice.requestHeaders=false
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
# Only available with HttpClient4
jmeter.save.saveservice.sent_bytes=true
jmeter.save.saveservice.url=false
jmeter.save.saveservice.filename=false
jmeter.save.saveservice.hostname=false
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=false
jmeter.save.saveservice.idle_time=true
# Timestamp format - this only affects CSV output files
# legitimate values: none, ms, or a format suitable for SimpleDateFormat
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
6.接下来输入执行命令
jmeter.bat -Jthread=500 -Jtime=1 -n -t testcase/xxxxx.jmx -l log/case15.jtl(不会生成报告)
jmeter.bat -Jthread=500 -Jtime=1 -n -t testcase/xxxxx.jmx -l log/case15.jtl -e -o html/html15z(包含生成报告)
-n, --nongui 命令行界面启动jmeter
-t, --testfile jmx结尾的测试计划,支持相对路径
-l, --logfile 日志结果文件
-r, --runremote non-gui模式下启动remote_hosts配置的所有远程server
-R, --remotestart server1,… non-gui模式下启动指定的server,此时remote_hosts和-r都无效
-p, --propfile 属性文件
-q, --addprop 附加的属性文件
-s, --server 运行JMeter服务器
-J, --jmeterproperty JMeter本地属性
-p, --propfile Jmeter本地属性文件,默认-p jmeter.properties
-D, --systemproperty JAVA系统属性
-S, --systemPropertyFile JAVA系统属性文件
-G, --globalproperty 发送给server的全局属性,可以把属性及值填入global.properties,之后使用-Gglobal.properties
7.执行完成之后,可以清晰的看见结果
8.进入指定的log文件夹生成的 .jtl 文件内容
9.进入report文件夹查看生成的HTML报告
好了,到这里就结束了,祝大家工作愉快,每天都能学到新的知识!
================================================================================================
希望以上总结对jmeter学习阶段的同学有所帮助~~~
如果有不明白的地方,欢迎提问,或者有不合理的地方,请指正~谢谢