jmeter性能测试入门(2)

171 阅读3分钟

线程组相关:

顺序执行和并发执行

直接执行的话,多线程组里的线程组执行顺序是并发执行

image.png 在测试计划里选择独立运行每个线程组

image.png

线程组执行顺序就会变为顺序执行

image.png

setup 和 teardown 线程组

在测试计划里添加setup 和 teardown 线程组,setup线程组会优先执行,teardown线程组会最后执行

image.png

线程组设置细节

线程数:模拟的用户量个数

Ramp-Up 时间:所有用户上线的总时间,以秒为单位(比如5,就表示总共耗时5秒,如果是 5个用户,那就意味着 每隔1.25秒上线一个: 5秒/(5-1) = 1.25)

循环次数 :每个用户 做线程组里面定义的动作行为多少轮。 缺省就做一轮。

image.png

http请求相关:

http请求默认值

添加http请求默认值,就不用对每个http请求进行单独的设置了

image.png 在http请求默认值里添加默认参数

image.png

http信息头管理器

在接口当中,我们有时候需要传json格式的数据,有时请求需要加上cookie 这时就需要用到http头信息管理器,来对header添加参数

image.png

参数化

用于动态的获取,设置,生成数据,比如说接口之间的参数调用等,主要的实现方法有以下四种:

用户自定义变量

添加配置元件,选择用户自定义变量

image.png 调用时使用 ${变量名} 例如${val} 就可以取到变量val的值

csv数据文件

csv 是一种特殊的文件格式,使用逗号分隔,例如:

image.png jmeter中添加csv数据文件格式:

image.png

image.png

结果如下:

image.png

用户参数

前置处理器-用户参数

image.png

函数

断言

响应断言

添加断言-响应断言

image.png

响应断言失败时报错,成功时不显示

断言持续时间

请求到得到结果中间的时间

image.png

image.png

json断言

对json格式的响应进行断言

image.png

逻辑控制器和关联

if逻辑控制器

image.png

foreach 逻辑控制器

image.png

image.png

循环逻辑控制器

image.png

接口关联

json提取器 image.png 正则提取器同理,只是将JSONPath提取的数据改用正则表达式提取

image.png

跨线程组传值

设置全局变量

image.png

image.png

image.png

image.png

乱码问题

通过后置处理器BeanShell PostProcessor 输入prev.setDataEncoding("utf-8"); 目的是修改响应数据编码格式为utf-8,保存

image.png

性能测试

高并发

在线程组里添加用户个数

image.png 在线程组里添加httq请求和同步定时器

image.png 添加聚合报告:

image.png

  1. Label:请求的名称,就是脚本中Sampler的名称。
  2. # Samples(样本):总共发给服务器的请求数量,如果模拟10个用户,每个用户迭代10次,那么总的请求数为:10*10 =100次。
  3. Average(平均值):默认情况下是单个Request的平均响应时间,当使用了Transaction Controller(事务控制器) 时,也可以用Transaction的时间,来显示平均响应时间 ,单位是毫秒。
  4. Median(中位数):50%用户的响应时间小于该值。
  5. 90% Line(90% 百分位):90%用户的响应时间小于该值。
  6. 95% Line(95% 百分位):95%用户的响应时间小于该值。
  7. 99% Line(99% 百分位):99%用户的响应时间小于该值。
  8. Min(最小值):最小的响应时间。
  9. Maximum(最大值):最大的响应时间。
  10. Error%(异常%):错误率=错误请求的数量/请求的总数。
  11. Throughput(吞吐量):默认情况下表示每秒完成的请求数(Request per Second)。
  12. Received KB/sec (接收数据):每秒从服务器端接收到的数据量。
  13. Sent KB/sec(发送):每秒发送到服务器端的数据量。

高频率

添加常量吞吐量计时器

例如 以20QPS 访问 15秒

image.png

image.png

image.png