jmeter基础操作

1、jmeter环境搭建

· jmeter是用Java开发的,依赖jdk,jer所以jdk的版本使用1.8版本
1、安装JDK环境,配置环境变量
2、官网下载jmeter下载需要的版本包
3、下载完成后,在bin文件夹下,jmeter.bat双击打开,在命令框敲击回车,注意在jmeter运行过程中,不能关闭该命令框
注意:
·在配置JDK环境变量时,不建议配置JMETER_HOME环境变量,如果配置了那么你的电脑,就有且只能运行一个路径下的jmeter
·没有配置JMETER_HOME环境变量可以在任意路径下启动任意版本的jmeter

2、jmeter切换中文

jmeter切换中文有两种方式,临时切换中文和永久切换中文
1、临时切换中文:

2、永久切换语言为中文
·在jmeter中bin文件下,jmeter.properties,用记事本打开,修改参数zh_CN

3、jmeter创建一个简单的接口

1、测试计划-添加-线程-线程组

2、线程组-取样器-HTTP请求

3、在HTTP请求页面中填写接口相关信息

注意事项:
·协议:如果是http协议可以不用写,服务器IP不允许输入/
·选择:不允许输入,只能点击下拉框进项选择
·路径:复制路径的时候不能多复制空格,多复制一个空格会出错,如果在请求body中看到%20代表有空格的
·内容编码:一般情况填写utf8
·从定向:只有开始和结果,中间的过程不展示,不能提起中间过程数据
·跟随定向:吧整个从定向过程一一展示出来,可以提取出来中间过程的数据

4、填写完成后添加查看结果数,线程组-添加-监听器-查看结果树

5、点击运行

点击运行后可在察看结果树种,看到本次请求的结果,以及返回信息

4、jmeter图形界面中基本的介绍

1、下图中红色框选框中为,脚本运行后的用时间,以及点击可查看运行日志,0/0运行中线程数量/运行线程总数量
2、左侧结果树
2.1 测试计划——脚本的根
2.2 通过点击某个原件,然后右键找到其他原件
2.3 线程(用户)他下边的原件都是来做场景设计的
2.4 逻辑控制器,进行逻辑判断
2.5 前置处理器,在执行请求的前需要干的事情
2.6 后置处理器,对请求的结果进行处理
2.7 定时器,认为的控制请求策略
2.8 配置原件,准备的一起资源,资料
2.9 监听器,对执行的结果进行不同维度的展示
3、请求默认值
在HTTP请求头中的所有信息默认保持,使用
线程组-配置原件-HTTP请求默认值,当前使用的HTTP请求页面中,值为空使用默认值,填写后使用当前填写的信息

4、用户定义变量
·输入变量名称,和变量的值,用%{变量名称}进行调用
·用户定义变量,在启动时获取一次值,在运行过程中不在动态的获取值
·用户定义变量可以跨线程组,被引用
·HTTP请求-添加-配置原件-用户定义变量

5、用户参数
·输入变量名称,和变量的值,用%{变量名称}进行调用
·用户参数,在启动时获取值,在运行过程中动态的获取值
·用户参数不可以跨线程组,不被引用
·线程组-添加-前置处理器-用户参数

使用jmeter进行关联

· 前一个接口的返回值中有一个动态值,需要在下个接口中使用,这个时候需要进行关联
· 使用后置处理器:对返回响应的结果进行提取
· 相应体为为json格式,提取json中的值优先使用——json提取器
· 如果不是从json中提取信息优先使用——正泽提取器

json提取器进行关联

用户参数

· 方法:使用用户参数,定义变量后,在用户参数勾选跌点更新,比如:每次注册调用用户参数,之后登录也会使用注册的参数。

json提取器

· 方法:线程-添加-后置处理器-json提取器

·apply to: 默认 从主取样器中提取

·Names of create variable: 自定义一个变量名
·json path expression: json:提取式有两种方法
方法一:

1、以 $. 开头, 后面 跟节点名称,多个节点之间 用 点号 连接,写法很简单,但是,路径万一写错,就提取不到值
方法二:

1、以 $… 开头, 后面跟上你要提取的值的key名称 -------推荐用
2、mathc no. 匹配第几个
3、0 代表 随机取第几个
4、一个正数值, 当这个正整数,在 配置的返回数量范围内时, 取你填的第几个, 如果你
5、填的数值,大于范围,那么,你将取不到值
6、负数, 获取出所有的, 变量名称后面加了 下划线和数值
7、变量名称_matchNr 代表匹配的数量
8、default value: 默认值 ----没有提取到的时候,变量的值为
注意:当一个json提取器写多个json提取式
1、提取式,之间 要用 分号 分割
2、变量名、mathno数值、默认值的 数量 要相等,且 都用封号 分割
3、此时,要特别注意,一定要填写 默认值
4、提取式也可以使用正则表达式

1、正则式: 左边界(正则式)右边界
2、正则式: .*? 万能正则式
3、模板: 数值 数值 数值 数值,要与 上面的 小括号配对
正则式:
.匹配除换行符以外的所有字符
*匹配0次或多次——贪婪
+匹配1次或多次——懒惰
? 匹配0次或1次
\d 数字
\w 英文字母或数字的字符串

DDT

数据驱动

1、如何使用jmeter生产数据

  • CSV数据文件设置
  • 添加-配置原件-CSV数据文件设置


  • 文件名:使用浏览进行选择为绝对路径,不建议使用,建议使用相对路径找到数据文件

    • 相对路径:在win电脑中,填写相对路径是吧\改成/
    • 相对路径的起始点默认是,jmeter中的bin路径
    • 也可是是,保存jmx文件相同的位置
  • 文件编码:选择的文件编码格式需要与这里的设置一直,一般为UTF8,如果CSV文件中有中文,但编码格式不是UTF8,jmeter读取会出现乱码
  • 变量名称:给文档的每一列取变量名称,多列用 , 隔开如果有三列,只想读取1 3 列那么,第一列变量名, , 第三列变量名,中间那一列用空格代替
  • 忽略首行:一般用来判读是否都读,表头
  • 分隔符:文件的分隔符是啥,这里填写啥
  • 是否允许带引号:判读是否去掉文件中的"“,只能过滤”"
  • 遇到文件结束符 再次循环: 取到了 最后一个值的时候,如果 我还要取值,我就从头 开始取值
  • 遇到文件结束符 停止线程:取到最后一个是否停止进程,默认FALSE 否 不停止继续执行,TRUE:取到最后一个是否停止进程,是
  • 注意理解上两种方式的组合
  • 线程共享模式:
    • 默认所有线程:读取一份文件,给所有线程使用,每个线程共享这一个文件,第一个线程使用第一个数据,第二个线程使用第二个数据…第n个线程使用第n个数据
    • 当前线程组:读取一份文件,给所有线程使用,每个线程组复制一份文件,独立访问各自的文件 第一个线程组从第一个数据开始读取,读取到第n个数据,第二个线组程从从第一个数据开始读取,读取到第n个数据
    • 当前线程:读取文件给所有线程使用,每个线程复制一份文件,独立访问各自的文件第一个线程从第一个数据开始读取,读取到第n个数据,第二个线程从从第一个数据开始读取,读取到第n个数据

逻辑控制器

if条件控制器

  • 逻辑控制器,进行逻辑控制,下方一定需要有取样器,如果逻辑控制器想没有,取样器相当于这个逻辑控制器没有用。
  • if条件控制器:条件满足就执行下方的取样器,不满足就不执行
  • 默认的情况下,使用jexl3或者grooy这两个函数的运行结果为真,才会执行下方的取样器
  • 不勾选的的话,自己填写表达式,判断是真执行取样器,假不执行

循环控制器

  • loop循环控制器

    • 一模一样的做重复的事情
  • foreach控制器

    • 相当于 python中 for i in range()

jdbc

  • jdbc:Java调用数据库的协议

    • 准备工作:mysql数据库为 5.7.x版本 驱动包 可以是 大于等于 数据库版本的jar包; 如果mysql8.x版本,jar包 就要选择 与数据库版本一致的jar包
      把 jar包 丢到 jmeter的lib\ext文件夹下 重启动jmeter
    • 驱动安装包

链接数据库

  • jmeter的配置元件中 JDBC Connection Configuration

    • 自定义连接池的名称
    • database connection configuration
      • dbURL:mysql的话: jdbc:mysql://mysqlip:端口/表名
      • JDBC Driver class: 选择驱动类型
      • username 账户
      • password 密码
  • 常用sql有 增删改查, 就要注意选择 Query Type
    • Select Statement: select脚本, 不带 参数
    • Update Statement: 写update语句, 脚本中 不带 参数
    • callable statement: 调存储过程
    • Prepared select statement: 脚本中,变量用 ? 来占位, 要写 parement value(引用变量) +
      parement type(varchar)
  • 脚本中带有参数两种写法
    • 第一种:query type: select statement, 写的脚本中,直接引用变量
    • 第二种: query type: prepared select statement, 脚本中的变量,用 ? 占位,多参数用 隔开
    • 在jmeter中编写sql语句时,可以不用;结尾,因为该工具不支持多sql语句
      *
    • 自定义接受结果的变量名称: variable names, 这个时候,我们 变量名称,会自动增加数值后缀。
    • 如果用 result variable name 来定义接收的变量名,那么 所有的值,都属于一个变量,这个变量值 是一个 列表
  • jmeter中吧保存线程的结果到CSV文中

    • 文件名称前缀 中 填写 文件名称
    • 勾选 不加 数值前缀 和 不加 类型 后缀
    • 运行,之后,在 jmeter的bin文件夹下 就会生成文件
    • 保存响应到文件,他是保存最后一个结果到文件

sqlite数据库使用

  • 是一个 内存数据库,也是一个 关系型数据库,但是,这个数据库 对 高并发支持不友好,该数据库不需要安装

  • 首先下载sqlite数据库的jar包,放到 jmeter的lib\ext文件夹下,重启动,jar下边地址

  • 再添加 jdbc connection configuration

  • url: jdbc:sqlite:erpuser.db

  • driver: 选择 org.sqlite.JDBC

  • username \password : 没有

  • 创建表: 使用 jdbc request —不需要重复操作只需要一次

  • qurey type: update statement

      create table if not exists 'erpuser'(mobile text, psd text, nickName text, platform text )
    
  • 在bin文件下会出现.db的文件,用数据库工具打开查看表创建成功

jmeter基础操作,图文相关推荐

  1. ArcGIS Pro 简明教程(2)基础操作和简单制图

    ArcGIS Pro 简明教程(2)基础操作和简单制图 By 李远祥 本章主要介绍ArcGIS Pro如何加载数据并进行简单的地图制作,以基本的操作为主. 上一章节介绍过,ArcGIS Pro是可以直 ...

  2. cad怎么向下位移,CAD基础操作入门教程,CAD怎么按坐标位移来移动对象的方法

    CAD基础操作入门教程,CAD怎么按坐标位移来移动对象的方法 CAD绘图操作无疑是比较考验软件操作熟练以及创意设计思维的过程,作为cad设计师,软件熟练是基础也是根本,而创意思维是升华,关系着你的后期 ...

  3. coreldraw x8段落_CorelDRAW基础设置图文教程,教你CDR X8设置文字为默认字体

    CorelDRAW基础设置图文教程,教你CDR X8设置文字为默认字体 CorelDRAW是一款非常出色的文字编排排版软件,对于平面设计三大软件之一,它的功能优势以及应用设计显而易见,对于想要从事平面 ...

  4. 3、《Jmeter基础篇》 从此善用逻辑控制器(1)

    故事背景 在2.<Jmeter基础篇> Thread Group(线程组)到底怎么用中,解释线程组时,提到,"控制器"和"HTTP请求"(采集器)必 ...

  5. 计算机基础知识 导读,计算机基础知识——图文混排教学教案.ppt

    计算机基础知识--图文混排教学教案 图文混排 课前导读 基础知识 重点知识 了解知识 基础知识 插入艺术字.选择艺术字种类.通过这两个知识点的学习,可以学会使用艺术字,使Word文档更生动美观. 重点 ...

  6. 计算机文化基础操作考试,计算机文化基础操作题考试要点.doc

    计算机文化基础操作题考试要点 总体要点 1.操作题重点:WindowsXP.Word2003.Excel2003操作题 2.理论题(选择.填空.判断)复习重点 (1)以前考过的题目([email pr ...

  7. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  8. 【opencv】(1) 基础操作:图像视频读取、图像截取、颜色通道

    主要内容有:图像及视频的读取和保存.图像显示.转换灰度图.图像截取.颜色通道提取和组合 那我们开始吧. 1. 图像操作 首先我们导入opencv库,彩色图像一般都是由RGB(红绿蓝)三颜色通道构成,灰 ...

  9. JavaのFile类基础操作之问题

    在上一章节,介绍了File类的基础操作,比如文件的创建,文件的删除等等.这一章节,将介绍在File类基础操作中遇到的问题. 1.路径分割符问题 在实际的软件开发与运行过程中,往往都会在Windows环 ...

最新文章

  1. 华为USG地址池方式的NAPT和NAT Server配置案例
  2. OSChina 周五乱弹——哄女人么,其实很简单
  3. 【KEIL·单片机·扫盲贴】关于ARM单片机程序内存使用情况的细致讨论。
  4. 目标检测 /yolo算法原理的详解
  5. android studio 解决gradle加载依赖慢的问题
  6. set row count
  7. 支配计算领域44年之后,摩尔定律的下一步该往哪里走?
  8. PHP面向对象的魔术方法
  9. SQL读写CSV文件
  10. 什么是spooling技术 他有哪几部分组成_气调保鲜冷库有哪几部分组成?
  11. python将py文件编译成二进制文件 加密
  12. jmeter配置文件--随机变量
  13. mysql数据库索引回表_简述 MySQL 数据库的覆盖索引与回表
  14. memset初始化值的效率秒杀for循环
  15. WS小世界网络python快速实现——调用networkx包
  16. pwn libc找偏移的在线网站
  17. 关于电脑壁纸分辨率低的原因及解决办法(个人感悟,并非系统性的盘点)
  18. 【Python】pyqt5-----QLabel
  19. 第五讲 中断、异常和信号
  20. 移驾OSC,并逐步将“呆鸟”博客同步过来。

热门文章

  1. unity网络实战开发(丛林战争)-前期知识准备(006-修改服务器端开启异步处理客户端连接请求)
  2. ubuntu shell获取IP地址、日期时间、重定向保存log,shell脚本保存管道命令执行结果
  3. 发布一个flv视频下载工具(支持一边下一边播放)
  4. Python爬虫从入门到精通:(43)JS逆向:完美世界RAS逆向_Python涛哥
  5. 程序的江湖——各门派
  6. Hisi 3516d_ov4689_5658调试
  7. “东数西算”浪潮将至,IDC龙头宝信软件却面临危机?
  8. python压力测试模块_Python编写服务器压力测试小工具(仅供测试)
  9. emu8086汇编语言操作文件指令详解
  10. 【好文导读】人工智能和机器学习富有启迪的文章2020