1.1 概念

JMeter 是 Apache 组织使用 Java 开发的一款测试工具 ,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

  • 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、FTP 服务器, 等等。

  • JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能

  • 另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

1.2 Jmeter特点(了解)

作用:

1. 接口测试
2. 性能测试
3. Web自动化测试
4. 数据库测试
5. JAVA程序测试

优点:

1. 开源免费,扩展性强,可以基于JMeter现有实现,实现功能拓展
2. 跨平台
3. 支持多协议
4. 小巧
5. 功能强大

缺点:

1. 不支持 IP 欺骗(LoadRunner 支持IP欺骗)
2. 不能直接测试前端

1.3 实现_Jmeter环境搭建

1)、JMeter 是使用 Java 编写的,必须安装 Java 环境  java的jad和jre

2)、下载并安装 JMeter

下载: https://jmeter.apache.org/download_jmeter.cgi

安装: 直接解压缩即可

配置: 考虑到中文乱码问题,请先修改编码集

3)、启动并运行 JMeter ,两种方式

1.4 实现_Jmeter基本使用流程

**需求:** 使用 JMeter 访问学生管理系统的查询学院信息接口

1)、启动 JMeter 并搭建基本应用框架(固定流程)

测试计划下添加线程组

**2)、核心: 在 JMeter 中设置接口测试三要素**

**3、运行并查看结果**

1.5 实现_Jmeter组件与元件

组件: 是 Jmeter 中的一些功能点实现(比如: 线程组、http请求、查看结果树 .....),每个组件都对应一定的功能实现

元件: 对组件按照性质归类分组,作用:方便管理组件

2 Jmeter组件:线程组(重点)

2.1 概念(记住)

进程:正在运行的程序 = 程序启动,进程创建,程序退出,进程释放
线程:进程中的执行线索 = 游戏中,能动的角色 或者 迅雷每一部电影下载,底层都对应一个线程实现
线程组:对线程按照性质归类分组 = 比如: 植物大战僵尸,划分三组能量组、攻击组、破坏组
层级关系:进程 > 线程组 > 线程 (一个进程包含多个线程组,一个线程组包含多个线程)

并发执行:程序中的多个线程同时执行 = 多部电影下载 = 线程结束顺序与启动顺序不一定一致
顺序执行:程序中的多个线程按照先后顺序依次执行 = 电影先下载完毕,然后再播放 = 线程结束顺序与启动顺序一致

2.2 作用

方便管理线程

2.3 实现_层级关系&执行顺序

层级结构

独立运行每个线程组

2.4 实现_线程组常见属性设置

PS:

线程数设置为 10 循环次数设置为1, 与线程数设置为1 循环次数设置为 10,执行结果一致,有区别吗?

答: 有区别,线程一般用于模拟虚拟用户,前者:测试场景是 10 个用户,每个用户访问一次服务器;而后者:测试场景是一个用户循环访问10次服务器

setUp 与 tearDown 线程组添加

setUp : 最先执行的线程组,一般用于初始化操作

tearDown:最后执行的线程组,一般用于资源卸载操作

PS: Jmeter 实现接口自动化测试时,会调用这两个线程组

2.5 实现_查看结果树的作用域

前提: 查看结果树组件添加位置不同,对应生效的取样器也不一样

  • 添加在测试计划下: 对所有线程组的所有取样器生效

  • 添加在线程组下: 只对当前组内的取样器生效

  • 添加在取样器下: 只对当前直接父级取样器生效

4 PATH 环境变量(理解)

注意: 不同操作系统的 PATH 各不相同,PATH 一旦修改完毕就不可恢复,操作 PATH 一定要谨慎,不建议频繁修改 PATH,而当程序重装后,不可避免的要修改 PATH,怎样优化呢?

优化策略:

  1. 可以创建一个单独的变量封装,工具的安装路径

  2. 在 PATH 当中,不是直接设置持续的安装路径,而是调用变量

  3. 以后程序安装路径发生改变时,只需要修改步骤1的变量,不需要直接操作 PATH

5 实现_配置JMETER环境变量

后期分布式等操作介绍时,会使用到PATH变量,需要在命令行调用部分实现,需要将:

前提: 需要大家配置 JMETER_HOME

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;

%JMETER_HOME%\lib\jorphan.jar;

%JMETER_HOME%\lib\logkit-2.0.jar;

上述三个 jar 文件配置进 PATH

接口测试01- Jmeter-线程进程-环境变量的更多相关文章

  1. JMeter安装和环境变量搭建

    下载安装Java JDK环境,设置环境变量 elasticsearch for windows:https://www.cnblogs.com/Neeo/articles/10368280.html ...

  2. JDK、Jmeter、Android环境变量配置

    JDK环境变量 1.在系统变量里点击新建,变量名填写JAVA_HOME,变量值填写JDK的安装路径,在这里就填写"D:\Program Files\Java\jdk1.6.0_26" ...

  3. JMeter配置好环境变量后无法启动---翻车笔记

    双击jmeter.bat出现下图情况 手欠了win7中配置 path无意中多删了变量 解决方法:在计算机-属性-高级系统设置-环境变量Path中添加 %SystemRoot%/system32;%Sy ...

  4. mac 添加环境变量(jmeter添加至环境变量中)

    Mac系统的环境变量,加载顺序为:a. /etc/profileb. /etc/pathsc. ~/.bash_profiled. ~/.bash_logine. ~/.profilef. ~/.ba ...

  5. jmeter安装与环境变量配置

    因jmeter是java开发的,要想运行java开发的程序,必须先下载JDK一.jdk 1.下载jdk  jdk下载地址:https://www.oracle.com/technetwork/java ...

  6. UNIX环境编程学习笔记(16)——进程管理之进程环境变量

    lienhua342014-10-03 1 环境表和环境指针 在每个进程启动时,都会接到一张环境表.环境表是一个字符指针数组,其中每个指针包含一个以 null 结束的 C 字符串的地址.全局变量env ...

  7. 访问进程环境变量environ时的一个坑

    在unistd.h中定义了变量char **environ;来表示当前所有环境变量,一般来说访问特定环境变量可以用getenv,但是想遍历所有环境变量就得使用environ. 即在程序内全局声明ext ...

  8. 01.Java安装及环境变量的设置

    1.下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.mac上安装及配 ...

  9. mac下安装好jdk和jmeter后设置环境变量

    1. 执行vim ~/.bash_profile,打开文件: 2. 按i,进入输入状态,并输入如下信息,其中为jdk安装路径: export JAVA_HOME=/Library/Java/JavaV ...

随机推荐

  1. Principle如何制作动效设计?简单易学的Principle动效设计教程

    Principle for Mac是一款新开发的交互设计软件.相比 Pixate 更容易上手,界面类似 Sketch 等做图软件,思路有点像用 Keynote 做动画,更「可视化」一些. 如果您还没有 ...

  2. sklearn的class_weight设置为'balanced'的计算方法

    分类的时候,当不同类别的样本量差异很大时,很容易影响分类结果,因此要么每个类别的数据量大致相同,要么就要进行校正. sklearn的做法可以是加权,加权就要涉及到class_weight和sample ...

  3. MySQL/MariaDB数据库的mysqldump工具备份还原实战

    MySQL/MariaDB数据库的mysqldump工具备份还原实战 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.mysqldump概述 1>.逻辑备份工具 mysq ...

  4. 关于base64编码Encode和Decode编码的几种方式

    关于base64编码Encode和Decode编码的几种方式 Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便 ...

  5. E. Little Pony and Expected Maximum(组合期望)

    题目描述: Little Pony and Expected Maximum time limit per test 1 second memory limit per test 256 megaby ...

  6. Codeforces I. Barcelonian Distance(暴力)

    题目描述: In this problem we consider a very simplified model of Barcelona city. Barcelona can be repres ...

  7. Docker 部署 vue 项目

    Docker 部署 vue 项目 Docker 作为轻量级虚拟化技术,拥有持续集成.版本控制.可移植性.隔离性和安全性等优势.本文使用Docker来部署一个vue的前端应用,并尽可能详尽的介绍了实现思 ...

  8. mysql优化过程中遇见的坑(mysql优化问题特别注意)

    不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而应该是在实际的业务场景下通过测试来验证你关于执行计划以及响应时间的假设. 单条查询最后添加 LIMIT 1,停止全表扫描. 对于char ...

  9. 洛谷:P1783 海滩防御(二分+并查集 最短路 最小生成树)

    题意: 给定长度为N的海滩,然后有M做防御塔,给出每座塔的位置Xi,到海岸的距离Yi. 求防御塔上最小观测半径Ri,使得海滩被封锁. 思路:要使左边界和右边界连通. 很nice,可以二分+并查集做. ...

  10. 2-开发共享版APP(接入指南)-设备接入说明:快速接入

    https://www.cnblogs.com/yangfengwu/p/11249674.html 该APP安装包下载链接: http://www.mnif.cn/appapk/IotDevelop ...