1.bin\jemter.properties 中的186
复制代码
#sampleresult.default.encoding=UTF-8 // 防止中文乱码
2.jemter 启动方式
监听器和线程组是同一个级别的
复制代码
Python 项目是 Django 框架
✅ 修改后命令(绑定0.0.0.0) python manage.py runserver 0.0.0.0:8080
python .\studentManagementSystem\manage.py runserver 0.0.0.0:8080
解决问题是 网页可以访问,jemter不能访问的问题
jmeter线程组相关
复制代码
进程:正在运行的程序
线程:是进程中的执行线索
线程组:进程中有许多线程,为了方便管理,可以对线程照性质分组,分组的结果就是线程组
PS:三者关系,一个进程可以包含多个线程组,一个线程组可以包含多个线程
jmeter并发执行和顺序执行
复制代码
并发执行:多个线程同时执行
顺序执行:多个线程顺序执行
jmeter两个特殊线程组
复制代码
setUp线程组:最优化执行的线程组
tearDown线程组:最后执行的线程组
http请求默认值 (相等于全局变量)
复制代码
http请求默认值:被复用的内容的封装
信息头管理器
复制代码
新增修改实现时提交的数据是json格式的,需声明提交的数据的内容类型:
参数化
复制代码
定义:动态的获取、设置或生成数据,是一种由程序驱动代替人工驱动的数据设计方案,提高脚本的编写效率以及编写质量
以下四种方式实现参数化:
1.用户定义的变量
2.CSV数据文件设置
3.用户参数
4.函数
参数化-- 用户定义的变量
复制代码
调用格式:${变量名}
CSV:逗号分隔值,是一种简洁且常见的数据存储格式,存储语法如下图所示
复制代码
实现步骤:
1.使用CSV文件存储测试数据
2.编写被复用的学院新增脚本模板
注意2:编码集使用UTF-8无BOM格式
3.关联脚本与数据(将文本数据导入脚本)
用户参数
复制代码
1.编写被复用的学院新增脚本模板
2.使用用户参数存储测试数据
3.将数据导入脚本模板
4.设置执行次数
函数
复制代码
_counter 计数器函数TRUE(每个用户都有自己的计数器)FALSE(所有用户一个计数器)
_Random 随机数函数 参数1:取值范围最小值(包含) 参数2:取值范围最大值(包含)
_time 获取当前时间的函数 无参:获取的是距离 1970/01/01 00:00:00的毫秒值
参数1:yyyyMM_dd HH:mm:ss 格式话成 年\月_日 时:分:秒 格式
直连数据库
复制代码
通过直接数据库让程序代替接口访问数据库,如果二者预期结果不一致,就找到了程序缺陷。获取某条学院的名字,放在百度搜索:
1.jmeter 不具备直连数据库功能,必须整合第三方(jar包)实现
2.配置数据库的连接
3.通过JDBC Request请求向数据库发送 SQL语句并接收提取响应结果
4.结果获取规则可以通过Debug Sampler 组件查看
5.将提取到的响应结果,在百度上
断言
复制代码
断言:让程序代替人工响应结果是否符合预期
分类:
响应断言 = 断言状态码和相应体
大小断言 = 判断相应内容的字节长度
断言持续时间 = 判断相应时间
步骤:
1.按照之前的实现编写测试脚本
2.为被判断的取样器添加断言组件
3.直接运行查看结果通过:无提示断言失败:给出错误
逻辑控制器和关联
复制代码
通过参数化可以实现单个接口的功能测试,而接口测试过程中,除了单个接口的功能测试之外,还会测试接口业务实现,所谓业务,就是一套完整的业务逻辑或流程,这就必须使用到逻辑控制和关联。
复制代码
if控制器 "${变量}" == "frank"
复制代码
forEach控制器
复制代码
逻辑控制器 循环控制器
注:添加循环控制器,子级添加取样器 (和之前现实不同,控制器和取样器存在父子级关系)
关联
复制代码
关联:上一个请求的响应结果和下一个请求的数据有关系
复制代码
xpath提取器:提取的是网页代码中的数据
复制代码
正则表达式提取器
跨线程组关联
复制代码
变量作用局域限于前线程组,其他线程组不可以直接调用。可以将请求A中提取的结果导出到公共空间(可以被不同线程组共享),请求B再从公开空间调用该变量,相当于全局变量。
性能测试
复制代码
模拟各种正常的、峰值的测试环境,检测程序的各项性能指标是否能够达标
jmeter 中内置了定时器,可以实现时间模式相关的性能测试
同步定时器 高频发
常量吞吐量定时器 高频率
分布式
复制代码
多台机协作,以集群的方式完成测试任务,可以提高测试效率。
接口测试流程
复制代码
1.指定测试计划,分配任务
2.从API文档中提取接口清单:对API文档简化,提高测试效率,接口清单就是对API文档简化压缩,主要提取三要素。
3.设计测试用例并参数覆盖测试用例
4.编写脚本实现,并导入设计的测试数据
5.测试结果汇总,BUG提交
生成图形化测试报告