对Jmeter简单的认识

Jmeter

概述

Jmeter是Apache公司(服务器软件)使用java开发的一款测试工具。安全 高效 功能强大

使用:

下载安装

  1. 官网:http://jmeter.apache.org/

  2. 下载jmeter 解压缩(download&release):开源软件

  3. 安装java环境(jmeter和java环境的关系就类似于mp4和播放器关系)

    • jdk+jre
  4. 简单了解jmeter目录结构

    • bin:存储了jmeter的可执行程序 比如启动程序
    • lib:存储了jmeter整合的功能(一些.jar文件的小程序)
  5. 启动jmeter

    (1)双击Jemter.bat/Jemter.sh启动(注意:控制台在运行过程中不关闭)

    • Jemter.bat 是windows下批处理文件

    • Jemter.sh 是linux mac系统启动文件 java是跨平台的软件环境

    (2)直接双击ApacheJMeter.jar程序,用javaw打开.jar文件

    • 若用javaw打不开.jar文件,可能是java环境的某部分被破坏了

      ​ 解决方法:
      ​ 1)到bin目录下,cmd

      ​ 2)输入命令:javaw -jar ApacheJMeter.jar

  6. 编写一个jmeter版本的测试案例

优缺点:

  1. 接口测试
  2. 性能测试 :测试程序的内在 — 程序的算法
  3. 压力测试 :测试程序的外在 — 外在负载
  4. Web自动化测试
  5. 数据库测试
  6. JAVA程序测试
优点
  • 开源、免费
  • 支持多协议
  • 小巧
  • 功能强大
缺点
  • 不支持IP欺骗
  • 使用JMeter无法验证JS程序,也无法验证页面UI,所以要须要和Selenium配合来完成
    Web2.0应用的测试

JMeter组成

任何一个性能测试都由着三个组成

  1. 取样器-进行脚本逻辑控制 sampler
  2. 线程组-场景设置(e.g:访问多少次)
  3. 监视器-监控我们的脚本运行,取得性能指标

Jmeter组件:

使用
  1. 右键“测试计划”,添加一个“线程组

    • 线程属性:
      线程数,想要模拟的用户数

    • 特殊线程组

      ​ set up ---- 最先执行的线程组

      ​ tear down – 最后执行的线程组

  2. Ramp-Up Period (in seconds)(加压策略):在多少秒 之内完成

  3. 循环次数
    永远:不让软件去控制脚本什么时候停止;
    次数:多少秒之内对于多少线程数的并发循环;

  4. 右键线程组-添加Sampler:添加取样器

  5. 右键线程组-添加监听器(监控脚本运行:e.g:察看结果数

  6. 多并发使用Jmeter断言

    • 请求之后,可进行断言:请求之后,判断请求结果里面到底哪些是期望的,返回结果是不是跟想的一样(如测试人员做测试设计的时候的期望结果),jmeter断言这个地方可能有bug
  7. 其他脚本:添加里面的东西基本都是进行脚本逻辑控制的;

  8. 逻辑控制器:更精细的来控制脚本逻辑的;

  9. 配置元件:系统测试时出现no cookies时添加那一类;

  10. 定时器:用户并发时,跑的太快不能真实的模拟用户;

  11. 如果只是为了测试系统的承受能力,可以不用修改前置处理器:在sampler之前要做的事情;

  12. 后置处理器:在sampler之后要做的事情(一般可进行断言)

Jmeter组件:参数化概述

​ 1、参数化是动态的获取并设置数据

​ 2、比如执行批量操作时,批量插入或批量删除,之前数据都是手写的,每执行完就需要修改一次,效率太低了。

​ 参数化是可以 以程序替代人工获取并设置数据:安全+高效

Jmeter组件:参数化实现CSV Data SetConfig

1、动态获取并设置数据

2、操作数据高效 安全

线程组
  1. 进程:一个正在执行的程序就对应一个进程
  2. 线程:进程中的执行线索(一个进程有多个执行线索)
  3. 线程组:按照线程性质对线程进行分组

区分

  1. 三者关系:进程有多个进程组,线程组可以有多个线程

    线程与进程两者的区别:做个简单的比喻:进程=火车,线程=车厢

    三者之间:不完全比喻:进程>线程组>线程

  2. 进程 — 测试计划

  3. 线程组 — 线程组

  4. 线程 — 线程组属性的线程数

线程的两种执行顺序
  1. 并发执行:多个线程同时执行
    • 特点:执行介素的顺序和线程的启动顺序不一定一致
  2. 顺序执行:按照线程的启动顺序挨个执行
    • 特点:方便管理
  • 默认情况下,线程组中的线程是并发执行的
  • 每一个线程都要执行组内的http请求
线程组属性

属性1:线程数 ---- 模拟用户数

属性2:时间值 ---- 在指定时间内启动所有线程

属性3:循环数 ---- 单个用户访问的次数

Jmeter设置线程组顺序执行:

​ 勾选测试计划的第一个复选框(独立运行每个线程组)

添加-取样器-http请求

调度器
  1. 循环次数设置为 永远
  2. 设置启动延迟x和持续时间y
    • 在x秒后访问服务器,并且持续y秒
  3. 设置启动时间M,和结束时间N
    • 在M时开始访问,在N时结束

注意:2、3实现不能同时使用,否则矛盾了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值