Jmeter接口测试

一.概述

  1. Apache公司使用JAVA开发的一款测试工具
  2. 高效,功能强大;模拟一些高并发或者多次循环等特殊场景
  3. bin:存储了Jmeter的可执行程序,比如启动程序;lib:存储了Jmeter整合的功能
    启动方式1:bin/ApacheJmeter .jar 双击
    启动方式2:jmeter.bat windows下的启动程序
    启动方式3:jmeter.sh linux下的启动程序
  4. 作用:
    接口测试,性能测试(内在 --- 程序的算法,比如程序响应时间),压力测试(外在 --- 外在负载,比如高并发人数),web自动化测试,数据库测试,Java程序测试
    优点:1.开源,免费;2.支持多协议 --- http,https,ftp,ftps;3.小巧;4.功能强大
    缺点:1.不支持IP欺骗;2.不支持前端测试;

二、组件:线程组

A.是什么
进程:一个正在运行的程序就是一个进程
线程:进程中的执行线索(一个进程有多个执行线索)
线程组:按照线程性质对线程进行分组

并发执行:多个线程同时执行,线程结束的顺序和线程启动的顺序不一定一致
顺序执行:按照线程的启动顺序挨个执行

B.为什么
方便管理

C.怎么用(基本使用)
C-1.三者关系:进程有多个线程组,线程组可以有多个线程
   ---进程:测试计划
   ---线程组:线程组
   ---线程:线程组属性的线程数
C-2.默认情况下,线程组中的线程是并发执行的,每一个线程都要执行组内的http请求
C-3.顺序执行:在测试计划中选择独立运行每个线程组

D.线程组优化
可以使用http请求默认值抽取线程组共同的IP,端口,协议,编码集等信息
1.测试计划 ——> 配置元件 ——> http请求默认值
作用:通过复用属性简化实现,提高效率

E.线程组高级(初始化与销毁线程组)
E-1.线程组属性
属性1:线程数 ---- 模拟用户数
属性2:时间值 ---- 在指定时间内启动所有线程
属性3:循环数 ---- 单个用户访问次数

E-2.调度器
1.循环次数设置为永远
2.设置启动延迟X和持续时间Y:在X秒后访问服务器,并且持续Y秒
3.设置启动时间M和结束时间N:在M时间开始访问,在N时间结束
--------2和3不能同时使用---------

组件:参数化概述

A.是什么
动态地获取并设置数据
B.为什么
执行批量操作的时候,每执行一次都需要修改一次,效率低,参数化就是以程序代替人工获取并设置数据:安全+高效

参数化实现之CSV Date Set Config

A.是什么
Jmeter参数化实现组件之一
B.为什么
通过这个组件可以动态获取并设置数据,实现类似批量添加操作(执行一次,将多条数据插入到数据库)
C.怎么用
C-1、实现思想

  1. 编写添加框架,设置循环次数,JSON数据格式固定,值先不写;
  2. 编写一个外部的文本文档,存储要添加的数据;
  3. Jmeter添加一个参数化组件CSV Date Set Config,每次循环时都读取外部文档的一行数据,再将字段分别设置进要提交的JSON数据中

C-2、实现方法

  1. 线程组设置循环次数,线程组下插入的HTTP请求负责插入数据
  2. 创建一个文本文档,标准的CSV格式文件,每一行数据对应文档一条记录,不同字段之间使用英文 , 分隔
  3. 创建一个CSV元件,声明数据源以及编码集以及解析格式
    Filename:文件路径
    File encoding:编码集
    Variable Names:变量名
    Delimiter:分隔符
  4. 要将CSV中解析的数据设置进JSON格式的数据报文,语法${变量名}

  BodyDate中:''键'':"${变量名}"

Jmeter组件:线程组实现高级

测试计划的添加中
Set Up线程组:最先执行的线程组----加载程序主体执行所需的资源
Tear Down:最后执行的线程组----程序正式关闭之前,可以将数据保存进内存

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 13,791评论 3 27
  • 互联网压力性能Badboy.Jmeterhttp://itopic.org/jmeter-http-tcp.htm...
    燕京博士阅读 8,064评论 0 20
  • JMeter简介 JMeter基本概念 Apache JMeter是Apache组织开发的基于Java的压力测试工...
    yo_哥阅读 8,084评论 0 19
  • 公司最近需要测试后台性能,所以学习使用了Jmeter,在此做记录,也分享给更多需要的人。 这篇文章是 JMeter...
    顾顾314阅读 9,804评论 0 10
  • 上天入地 一心二用 三山五岳 纵横四海 不在五行之中 ; 吃斋念佛 四值五方 六丁八戒 超脱三界 永存十世轮回。 ...
    陈言著诗随云飞阅读 1,508评论 0 0

友情链接更多精彩内容