JMeter
下载安装
-
官方网站:http://imeter.apache.org/download_jmeter.cgi
下载软件包
-
下载后解压
-
安装java环境,JDK,配置JAVA环境变量
-
运行JMeter,可以运行在linux、macos、 windows平台
目录结构
如何运行
进入bin目录运行jmeter.bat启动jmeter
如何修改中文(永久生效)
打开文件后
菜单栏介绍
测试计划
你把它理解为一个容器,存放所有的线程组,及存放的所有的测试内容,你的测试内容都基于测试计划。
-
名称/注释:为该测试计划起个名字和描述吧。
-
用户定义的变量:在jmeter中,除了内置的一些变量,我们也可以在这里定义一些变量,这些变量作用于全局。
-
独立运行每个线程组:默认的,当执行测试计划时,多个线程组默认会发的执行,如果勾选该项,表示从上到下依次执行线程组。
-
添加目录或者jar包到ClassPath:当有需要使用外部的目录或者jar包时,都在此添加。
JMeter使用的几个关键
- 定义测试计划(你准备做什么)
- 创建线程组(模拟出一堆用户要去访问网站),一堆线程(用户)
- 决定用什么样的协议,去访问什么接口
- 用http协议,去访问一个API(用户打开淘宝首页)
- https去测试API
- 其他各种协议:ftp,ladp
线程组
可以创建多个线程组(相当于多个线程组)
- steUP线程组
一种特殊类型的线程组用于在执行常规线程组 之前执行一些必要的操作,这个线程组下的线程行为与常规线程组完全一致,不同的是执行顺序,它会在常规线程组执行之前被触发。主要的应用场景有:- 测试数据库时,可以用来执行数据链接等操作
- 获取前置数据,如依赖的token和cookies。
- tearDown线程组
一种特殊类型的线程组,用于在常规线程组完成后执行一些必要的操作,这个线程组下的线程行为与常规线程组完全一致,不同的是执行顺序,它会在常规线程组执行之后被触发。- 如果关闭数据库连接
- 处理其他善后操作
- 线程组
普通线程组,也是用的最多的线程组,在该线程组内实现主要的测试任务。
取样器
9个元件【功能类】
逻辑控制器
前置处理器
后置处理器
断言
自动化测试中对异常处理、对结果的处理
配置元件
监听器
线程属性
jmeter和python的概念理解
jmeter是java开发的程序,功能也都是有代码实现而来,理念也是一样
- 测试计划 == (模块)大文件夹
- 线程组 ==(py脚本)每一个脚本文件(导入的多线程开发)
- 元件 == (python代码)定义了面向对象的开发模式,定义了功能类
- jmeter内置提供了9个功能类(元件)让你去调用
- HTTP请求 == 组件,类中定义的类方法
jmeter使用流程
-
打开jmeter
-
在测试计划下添加线程组
-
线程组添加HTTP请求,取样器
-
填写HTTP请求的数据
-
线程组添加,查看结果树,监听器
-
启动,查看结果
案例
-
发送http请求
-
添加参数
-
访问post请求
- 独立运行每个线程组