jmeter(3.1)性能测试详解
Posted qinhaili
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter(3.1)性能测试详解相关的知识,希望对你有一定的参考价值。
jmeter(3.1)
一个完整的压测脚本构成
1、线程组
2、HTTP信息头管理器(根据需要添加)
3、用户自定义变量(看个人习惯)
4、参数化
5、HTTP请求
6、正则表达式提取器(根据需要添加)
7、集合点
8、断言
9、查看结果树
10、聚合报告
线程组
1、添加线程组:添加---threads(users)---线程组
Http信息头
1、添加:添加---配置元件---HTTP信息头管理器
Http请求
1、添加:添加---Sampler---HTTP请求
参数化相关
用户自定义变量
1、添加:添加---配置元件---用户自定义变量
2、自定义变量引用:${ip}
正则表达式提取器
1、添加:添加---后置处理器---正则表达式提取器
2、使用
引用名称:随便填变量名
正则表达式:在所在的http请求的响应结果中提取token
"token":"(.+?)"
模板
取一个值:$1$
匹配数字:可为空
缺省值:正则匹配不到的时候给该变量赋值
CSV Data Set Config
1、添加:添加---配置元件---CSV Data Set Config
2、使用
filename:参数化文件路径,如:D:mobile.dat
file encoding:utf-8
variable names:变量名称,参数化的时候使用
Delimiter:.dat文件使用的分隔符,一般选择逗号
Allow quoted data:False 双引号相关,如果参数中需包含,或者”等,该项可以选择True
Recycle on EOF?:True 设置为True后,允许循环取值
Stop thread on EOF?:False 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效。
sharing mode:All threads 共享模式
All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行。
Current thread group:当前线程组,各个线程组分别循环取值。
Current thread:当前线程,该测试计划内的所有线程都取第一行。
断言
1、添加---断言---响应断言
Synchronizing Timer 集合点
1、添加---定时器---Synchronizing Timer
2、使用
1、Number of Simulated Users to Groupby:每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。
2、Timeout in milliseconds:如果设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users toGroup"中设置的值才释放。如果大于0,那么如果超过Timeout inmilliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users toGroup"中设置的值,Timer将不再等待,释放已到达的线程。默认为0
注意
1、如果设置Timeout in milliseconds为0,且线程数量无法达到"Number of Simultaneous Users toGroup by"中设置的值,那么Test将无限等待,除非手动终止。
2、Synchronizing timer 仅作用于同一个JVM中的线程,所以,如果使用并发测试,确保"Number of Simultaneous Users toGroup by"中设置的值不大于它所在线程组包含的用户数
查看结果树
1、添加---监听器---查看结果树
聚合报告
1、添加---监听器---聚合报告
以上是关于jmeter(3.1)性能测试详解的主要内容,如果未能解决你的问题,请参考以下文章