【jmeter】

环境配置

在这里插入图片描述

安装Java环境

安装jmeter

安装python环境

一、安装python环境 推荐python3.5版本
在这里插入图片描述
双击,一路next

  1. 将pip添加到环境变量中:python的安装目录scripts中有个pip.exe,将pip.exe的绝对位置添加到系统变量的path中(新增一条,复制粘贴进去)
  2. 将python添加到环境变量中:将python.exe的绝对位置添加到系统变量的path中(新增一条,复制粘贴进去)

二、在项目文件夹中cmd,安装依赖模块:pip install -r requirements.txt -i https://pypi.douban.com/simple
三、在项目文件夹中cmd,启动命令:python run_server.py,弹出下面窗口即可
在这里插入图片描述

数据库配置

双击运行(6小时自动化jmeter工具笔记资料\入门篇\入门篇资料\资料\sqlitestudio-3.1.1\SQLiteStudio中)
在这里插入图片描述
将下列文件(6小时自动化jmeter工具笔记资料\入门篇\入门篇资料\资料\项目\项目\studentManagementSystem中)
在这里插入图片描述
拖拽到:
在这里插入图片描述

线程组

一、进程:正在运行的程序
二、线程:是进程中的执行线索
三、线程组:进程中有许多线程,为了方便管理,可以对线程按照性质分组,分组的结果就是线程组

三者关系:一个进程可以包含多个线程组,一个线程组可以包含多个线程
例:迅雷下载电影
喜剧片:西虹市首富、大话西游、喜剧之王
恐怖片:贞子、咒怨、生化危机
迅雷是进程,喜剧片、恐怖片是进程,合在一起是进程组

四、并发执行:多个线程同时执行
在这里插入图片描述
右边的HTTP请求是并发执行
五、顺序执行:多个线程顺序执行
在这里插入图片描述
六、setUp线程组:最优先执行的线程组
七、tearDown线程组:最后执行的线程组
在这里插入图片描述
不管你勾不勾选【独立运行每个线程组】,setUp线程组始终是最优先执行的线程组,tearDown线程组是最后执行的线程组
八、线程组常用属性:
在这里插入图片描述
线程数:模拟的用户个数
Ramp-up period:给程序的准备时间
循环次数:每个用户执行的次数,如果线程数为3,循环次数为2,表示每个用户执行2次,一共3个用户,一共执行6次。永远代表一直执行下去
调度器:配合下面的持续时间、启动延迟使用。持续时间配合【永远】使用,在该持续时间内不停发请求。启动延迟:点击启动按钮后,延迟一段时间再启动

HTTP

HTTP请求默认值

查看我们请求的地址ip、端口号都是一样的:
在这里插入图片描述
我们每次在HTTP请求中都会设置一样的ip和端口号
在这里插入图片描述
太麻烦了,使用【HTTP请求默认值】优化一下,在测试计划中新增一个【HTTP请求默认值】:
在这里插入图片描述
在该页面配置重复的内容
在这里插入图片描述
在具体的HTTP请求中填写其余内容
在这里插入图片描述

HTTP信息头管理器

如果要进行新增操作,需要使用HTTP信息头管理器,在HTTP信息头管理器中需要配置跟json数据有关的参数,因为新增操作需要传递一些json数据,需要json数据就必须设置HTTP信息头管理器,告诉浏览器你新增的数据是什么类型

  1. 添加HTTP信息头管理器
    在这里插入图片描述
  2. 内容:
    在这里插入图片描述
  3. 要添加的数据
    在这里插入图片描述
  4. 启动

参数化

在这里插入图片描述

用户定义的变量

  1. 添加用户定义的变量
    在这里插入图片描述
  2. 设置变量及要复用的内容
    在这里插入图片描述
  3. 以后在http请求中想要使用变量里的内容,使用${变量名}调用变量即可
    在这里插入图片描述

csv数据文件设置

csv实现批量添加
在这里插入图片描述

  1. 新建csv.txt文件,在里面写你要存储的值,值和数据库中的字段是一一对应的,用逗号隔开
    在这里插入图片描述
  2. 保存csv文件时注意一定要是utf-8
    在这里插入图片描述
  3. 批量添加csv中的数据
    (1)添加csv数据文件设置
    在这里插入图片描述
    (2)填写内容:
    在这里插入图片描述
    名称:csv.txt文件
    文件编码:utf-8,也就是你保存csv.txt时的编码格式
    变量名称:csv.txt文件中的数据对应的变量名
    在这里插入图片描述
    分隔符:csv.txt文件中数据的分隔符,此处是逗号
    遇到文件结束符再次循环:整个csv.txt文档中的数据添加完了是否从头再次添加?
  4. 在上传数据时,消息体数据以${变量名}的方式将csv中的数据导入模板,变量名(右边的值)就是填写csv数据文件设置中的变量名
    在这里插入图片描述
  5. 线程组循环次数勾选永远
    在这里插入图片描述

用户参数

在这里插入图片描述

  1. 新增用户参数
    在这里插入图片描述
  2. 配置用户参数:添加变量是添加一列,添加用户是添加一行。
    名称:数据库中的字段名
    用户:数据
    在这里插入图片描述
  3. 发送的数据中要引用你上面定义的名称
    在这里插入图片描述
  4. 你在上面设置了多少个用户,就在线程组中设置多少个线程数

函数

在这里插入图片描述

计数器函数

在这里插入图片描述
以上一共发6次请求,我希望察看结果树中每个请求都有编号,可以使用count函数来实现,点击函数助手,选择一个函数,下面先让每个用户有自己的计数器,然后点击生成,会生成一段代码
在这里插入图片描述
将这段代码复制到任何你想计数的地方
在这里插入图片描述
这样,并发的2个线程发的3次请求都有编号
在这里插入图片描述
若当时选择使用全局计数器,运行结果
在这里插入图片描述

随机数函数

右击可以禁用掉一个请求
在这里插入图片描述
使用方法同count函数,这里是闭区间
请添加图片描述
将生成的代码粘贴到任何你要使用的地方
请添加图片描述
启动后
请添加图片描述

时间函数

使用方法同上
请添加图片描述
什么都不写,生成当前时间的时间戳
请添加图片描述
指定格式,生成当前时间的格式

直连数据库

请添加图片描述

  1. 添加第三方jar包:
    请添加图片描述
    点击浏览,将上面这个jar包添加进来,如下所示:
    请添加图片描述
    只要添加了这个jar包,jmeter就可以直连数据库了
  2. 在jdbc connection configuration中添加数据库连接所需配置:
    请添加图片描述
    格式如下:
    请添加图片描述
    具体如下:
    请添加图片描述
  1. 数据库连接路径需要写前缀:jdbc:sqlite:
  2. jdbc driver class中选择你使用的数据库
  1. 在线程组中添加的取样器就不再是http请求,而是jdbc request:
    请添加图片描述
    具体内容填写如下:
    请添加图片描述
  1. variable name就是你在jdbc connection configuration中起的连接的名字
  2. query type说明:
    (1)select:查询
    (2)update:增删改
  1. 添加察看结果树,点击启动,就查询出来以下这么多结果,但是我只想把某一条结果放在百度上进行二次搜索
    请添加图片描述
  2. 添加debug sampler组件查看数据怎么保存的,然后获取出来,放到百度上二次搜索
    (1)请添加图片描述
    (2)
    请添加图片描述
    添加variable name的目的:让jdbc request获取到的结果都以variable name的值为前缀来保存:
    请添加图片描述
    请添加图片描述
    如果你想得到=右边的值,可以直接通过=左边的变量获取
    (3)添加一个http请求
    请添加图片描述
    内容如下:
    在这里插入图片描述
    线上网站的端口号都是80,当我在百度中搜【黑马】时,百度其实访问的是/s页面,并在url中拼接了一个word,word的值为要搜索的内容,即黑马
    在这里插入图片描述
    请添加图片描述
    现在我想把jdbc request获取到的某个结果展示出来,也就是说让百度搜索jdbc request获取到的某个结果,那么我可以写word=${val_30}
    (4)启动后,
    请添加图片描述
    请添加图片描述

断言

请添加图片描述

响应断言

  1. 添加http请求
    请添加图片描述
  2. 添加断言:
    请添加图片描述
    响应断言:从http请求中获取结果,对结果断言
    具体内容:
    请添加图片描述
    匹配:正则表达式
    包含:响应体中是否包含测试模式中的内容
    等价:响应体中是否等于测试模式中的内容
    否:取反,响应体中是否不包含测试模式中的内容
    或者:配合响应代码使用,如下例,或者等于200或者等于201
    请添加图片描述

大小断言:判断字符串内容的长度。

添加断言
请添加图片描述
大小断言:用于判断你请求得到的结果,数据有多少。
具体内容:
请添加图片描述
请添加图片描述
我们查看一下取样器结果,如下所示:
请添加图片描述
被判断的内容与取样器结果对应关系如下:
完整响应:size in bytes
响应的消息体:response message
响应代码:response code
响应头:header size in bytes
响应信息:body size in bytes

注意200代表3个字符,ok代表2个字符
请添加图片描述

断言持续时间

  1. 添加断言
    请添加图片描述
    具体内容:
    在这里插入图片描述
    我当前请求到得到结果这一过程所耗时间是否小于我设定的这个持续时间


版权声明:本文为CaraYQ原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。