JMeter自动化测试工具
1,安装和启动
1.1,安装
1)、JMeter是使用Java编写的,必须安装Java环境:
1.JDK: Java SE Development Kit (java开发工具包,为JAVA程序开发提供环境支持)
2.JRE: Java Runtime Environment (java运行环境,为JAVA程序运行提供环境支持)
2)、下载并安装JMeter
下载: https://jmeter.apache.org/download_jmeter.cgi安装:直接解压缩即可
1.2,中文乱码问题
修改编码集,文件路径:apache-jmeter-5.6\bin\jmeter.properties
1.3,启动并运动JMeter
ApacheJMeter.jar,图形化启动入口;图形化启动不了,可使用windows命令行启动jmeter.bat
2,简单使用
2.1,创建一个线程组
测试计划右键→添加→线程(用户)→线程组,可以设置线程数量
2.2,添加HTTP请求
线程组右键→添加→取样器→HTTP请求,设置请求的地址
2.3,添加断言
添加→断言→响应断言,可以设置哪些测试结果为通过,哪些测试结果为失败
2.4,添加信息头管理
添加→配置元件→HTTP信息头管理,可以设置http请求携带的参数
2.5,添加监听器
添加→监听器→查看结果树,监听器是查看测试结果分析
3,JMeter线程组
进程:正在运行的程序
线程:是进程中的执行线索
线程组:进程中有许多线程,为了方便管理,可以对线程按照性质分组,分组的结果就是线程组
PS:三者关系,一个进程可以包含多个线程组,一个线程组可以包含多个线程
2.1,并发和顺序执行
- 并发执行,多个线程同时执行
- 顺序执行:多个线程顺序执行
顺序执行,需要勾选独立运行每个线程组(例如在一个组运行结束后启动下一个)
。
2.2,JMeter两个特殊线程组
- setUp线程组:最优先执行的线程组
- tearDown线程组:最后执行的线程组
2.3,JMeter线程组常用属性
4,http请求默认值
测试计划→添加→配置元件→HTTP请求默认值
5,信息头管理器
新增修改实现时提交的数据是JSON格式,需要声明提交的数据类型的内容类型
如果Http请求需要携带json数据,需要在信息头加上Content-Type
值为application/json:charset=utf-8
如下是HTTP请求,添加json格式的请求体数据。
6,参数化
当提交的数据量较大,怎么提交?每测试一次就修改一次吗?
定义:动态的获取、设置或生成数据,是一种由程序驱动代替人工驱动的数据设计方案,提高脚本的编写效率以及编写质量
以下四种方式实现参数化:
1、用户定义的变量
2、CSV数据文件设置
3、用户参数
4、函数
1,用户定义的变量
调用格式:${变量名}
7,断言
断言:让程序代替人工判断响应结果是否符合预期
分类:
响应断言=断言状态码和响应体
大小断言=判断响应内容的字节长度
断言持续时间=判断响应时间
步骤:
1、按照之前的实现编写测试脚本
机器人
2、为被判断的取样器添加断言组件
3、直接运行查看结果断言通过:无提示
断言失败:给出错误
6.1,响应断言
6.2,大小断言
6.3,断言持续时间
断言持续时间=判断响应时间
步骤:
1、按照之前的实现编写测试脚本
机器人
2、为被判断的取样器添加断言组件
3、直接运行查看结果断言通过:无提示
断言失败:给出错误