接口测试之Jmeter

一、安装环境

1、下载jmeter,解压缩

2、安装java环境

二、jmeter的作用优点和缺点

作用:

1、接口测试

2、性能测试:内在 ---- 程序的算法

3、压力测试:外在 --- 外在负责

4、web自动化测试

5、数据库测试

6、JAVA程序测试

优点:

1、开源、免费

2、支持多协议

3、小巧

4、功能强大

缺点:

1、不支持 IP 欺骗

2、不支持前端测试

三、Jmeter组件:线程组

进程:一个正在执行的程序就对应一个进程

线程:进程中的执行线索(一个进程有多个执行线索)

线程组:按照线程性质对线程进程分组

并发执行:多个线程同时执行  特点:执行结束的顺序和线程的启动顺序不一定一致

顺序执行:按照线程的启动顺序挨个执行

 

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

进程----测试计划    线程组----线程组          线程----线程组属性的线程

默认情况下,线程组中的线程是并发执行的

每一个线程都要执行组内的http请求

设置线程组顺序执行:勾选测试计划的第一个复选框(独立运行每个线程组)

可以使用http请求默认值 抽取共同的ip端口号 协议 编码集 等信息

测试计划--->右击添加 配置元件--->http请求默认值

线程组属性:

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

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

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

调度器

1)循环次数设置为永远

2)设置启动延迟x和持续时间y

在x秒后访问服务器,并且持续y秒

3)设置启动时间M和结束时间N

在M时开始访问,在N时结束

注意:2和3实现不能同时使用,否则矛盾了(会优先使用上面的)

四、Jmeter组件:参数化概述

参数化就是动态的获取并设置数据

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

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

五、Jmeter组件:参数化实现之CSV Data Set Config

通过这个组件可以动态获取并设置数据,实现类似批量添加操作(执行一次,将多条数据插入到数据库)

1、编写添加框架,设置循环次数为3

JSON数据格式固定,值先不写

2、编写一个外部的文本文档,存储要添加的三条数据

每一行数据对应数据库一条记录,不同字段之间使用英文,分隔

 

3、Jmeter添加一个参数化组件:

CSV Data Set Config,每次循环时都读取外部文档的一行数据,再将4个字段分别设置进提交的JSON数据中。

接口测试之Jmeter

4、将CSV解析的数据设置进Json格式的请求报文,语法$(变量名) 

六、Jmeter组件:线程组实现高级

Set Up 线程组:最先执行的线程组    (加载程序主体执行所需的资源)

Tear Down线程组:最后执行的线程组  (程序正式关闭之前,可以将数据保存进内存)