哈喽哈喽,这里是小菜不拖延博主,是的,博主还没有找到工作,于是又开始学测试了,让我们一起来学测试吧
概念
进程
- 正在执行的程序,每一个进程都有自己独立的内存空间
- pyhton使用multiprocessing来创建进程
线程
- 进程的执行单元,可以共享进程的内存空间
- python使用threading来创建线程
Jmeter概念
线程组
- setUp线程组:最先执行的线程组
- tearDown线程组:最后执行的线程组
利用csv文件进行批量操作
- 添加http请求头信息设置,application/json;charset=utf-8
- 添加csv数据文件设置——————如下图,需要设置的部分
- 新建.txt文件,按照数据库字段顺序写值就好,数据中间记得分隔符(什么都行),回车就是一条数据。保存的编码必须为utf-8
- 请求体部分将具体的值写成我设置的csv变量名称
实操:
记得设置下面的操作,让文件可以自动读取完数据之后不再请求,否则就会一直循环直到你手动取消
用户参数
数据保存在jmeter当中
需要在线程组当中设置线程数,而不是像csv操作那样设置循环次数
计数函数
将生成的代码复制到想要使用的位置
直连数据库
就是可以直接操作数据库
- 添加jar包
- 添加jdbc请求和设置
严格按照这个格式,在下方记得选数据库类型
操作
断言
让程序代替人工判断响应结果是否符合预期
分类
- 响应断言:断言状态码和响应体
- 大小断言:判断响应内容的字节长度
- 断言持续时间:判断响应时间
操作
- 按照之前的正常操作添加
- 给取样器添加断言
- 看断言结果
逻辑控制器
if控制器
框里写判断条件,注意格式
关联
xpath提取器
![]()
- 缺省值就是没有匹配到给一个默认值
正则表达式 可以处理请求到的数据,拿到数据进行操作
跨越线程组进行关联
设置全局变量
- 先设置函数
- 将生成的代码粘贴到BeanShell提取器当中
获取全局变量
高并发
同步计时器
这里可以模仿同时请求
记得线程组里面的线程数也需要修改
使用聚合报告查看请求结果
高频率
使用常数吞吐量定时器
- QPS: ==次/s
- 目标吞吐量==每分钟的吞吐量
- 循环次数==访问频率*访问时间
分布式
- 继续开启我其他执行机的,jmeter.bat使其处于运行状态
生成图形化报告
将要生成报告的测试复制到bin下面,然后运行第二张图的命令(因为没有将jmeter设置成环境变量,所以我们只能在bin下面运行他的脚本生成报告)