Jmeter核心知识(一)

Jmeter核心知识

  • 接口三要素
    • 请求地址
    • 请求参数
    • 返回值
  • 主要是HTTP协议
    • 请求方式
      • get
        • 带参数 params
        • 不带参数
      • post
        • x-www-form-urlencoded 参数类型 键值对
          • content-type:application/x-www-form-urlencoded
        • json格式数据
          • content-type:application/json
      • put
      • delete

1.Jmeter取样器-以HTTP请求为例

  • 添加HTTP请求

  • 和HTTP请求相关的其他的组件

1.1HTTP信息头管理器

  • HTTP信息头管理器—对应—HTTP请求头

    • 当发送的HTTP请求是json类型时,HTTP Request中的Body Data数据类型放置请求的json数据,并需要配合HTTP信息头管理使用

  • 在Jmeter中,发送HTTP的post请求时,需要添加HTTP信息头管理器

1.2HTTP请求配置

基本配置

http协议 默认端口号80

https协议 默认端口号443

如:http://127.0.0.0:8081/apl/deps/

  • 协议 hhtp或https
  • 服务器名称或IP :表示服务的地址或域名,在本地写localhost或127.0.0.1
  • 端口号:如果有就写具体的端口号8081,如果没有端口就不需要填
  • 方法:表示http协议的请求方式
  • 路径:表示接口地址 /apl/deps/
  • 内容编码:一般使用utf-8编码
  • 参数:针对post请求参数是x-www-form-urlcontent格式和form-data格式
  • 消息体数据:针对post请求中json格式或xml格式请求数据,相当于postman中的raw
  • 文件上传:表示上传文件接口

  • 举例说明

    请求地址:http://ecdir.itshop.cn/phone?url=/user/signin

    请求方式:post

    参数类型:application/x-www-form-urlencoded

    请求参数:json:{“name”:“张三”,“ps”:“123456”}

  • HTTP请求组件中,默认支持x-www-form-urlencoded格式,所以不需要在HTTP请求头管理器中进行设置

1.3HTTP请求默认值

  • 位置

  • 作用

    • 将同一线程组下所有的HTTP请求的协议或服务器域名同一管理
    • 如果HTTP请求中自己填写和服务器域名,当发送请求时,使用本身。即,自定义的HTTP请求的优先级高于默认的。

2.Jmeter的参数化

  • 根据需求动态获取数据并进行赋值的过程
  • 在Jmeter中进行参数化的三种方式
    1. CSV数据控件
    2. 用户参数
    3. 用户自定义变量

2.1Jmeter中参数的定义

  • 在Jmeter中参数化的变量使用==${变量名}==表示

2.2CSV数据控件实现参数化

  • 从外读取数据功能的组件 CSV Data set Config
  • 适用范围:适用于大量测试数据的前提,如系统增加1000条数据,设置1000名用户登录等
CSV Data Set Config位置

csv文件内容

CSV Data Set Config中引入csv文件

HTTP请求中使用csv中的变量

  • 需要配置线程数个数与csv中有效记录的行数相同

2.3用户参数实现参数化

  • 适用范围:适用于参数取值范围很小的时候使用

  • 位置

    • 针对哪个sampler使用就在哪个sampler下添加,在前置处理器中
配置
  • 添加变量

    • 变量名称
  • 添加用户

    • 添加测试数据
    • 一个用户就是一组测试数据

使用
  • 在HTTP请求中引用变量

  • 在线程组中设置线程数

    • 线程数数的值和用户参数中的用户数一样(不使用循环线程数的方式)

    需要配置线程数个数与csv中有效记录的行数相同

2.4用户定义的变量实现参数化

  • 使用范围:一般用作常量的参数化,如访问的url地址,测试环境的地址,数据库地址等
位置
  1. 测试计划页面(常用)
  2. 用户定义变量组件(变量较多时使用)

使用

3.Jmeter连接数据库

1.需要导入连接数据库的jar包

  • 如mysql-connector-java-8.0.12.jar,这个jar包需要自己下载

  • 导入

  • 需要的组件

    1. JDBC Connection Configuration

    2. JDBC Request

2.JDBC Connection Configuration配置
  • 配置

    • 注意

      数据库地址写法举例:jdbc:mysql://localhost:3306/ecdb

      • jdbc:mysql://ip或域名:端口/数据库名
      • 不同的数据库连接方式会不同,用到的时候自行百度。
3.JDBC Request配置
  • 配置

  • sql的语句后面不添加分号;

4.JDBC Request配置中语句的编写-引入变量-(还存在问题)
  • 变量的引用-下面这图可能有问题

4.关联

4.1xpath关联

  • 从上一条请求中获取的数据,应用在下一条请求中的过程
举例
  • 访问一个网页,获取它的title;将title放入百度搜索框中,进行搜索

    1. 从第一个http请求中,解析一个网页中的title

      • xpath解析测试

    2. 将解析出来的title放入第二个http请求中

      • 但是在实际中,百度有验证,只成功了一次

1.使用场景
  • 在接口的返回值为HTML或者xml格式时,使用xpath提取器
2.位置
  • 后置处理器->xpath提取器
3.配置xpath提取器
  • 引用名称:接收返回值数据的变量名
  • xpath query:xpaht解析
  • 匹配数字:表示第几个,0表示随机,-1表示所有
  • 缺省值:当没有找到解析的数据时,引用名称的值就为缺省值
  • XML parsing Options:勾选 Use Tidy(tolerant parser)和Quiet

4.2json提取器

1.使用场景
  • 在接口数据为json格式时

2.位置
  • 后置处理器->json提取器

3.配置json提取器
  • 引用名称:接收返回值数据的变量名

  • json path 表达式:$…获取字段名

    • 这个可以百度,语法
  • Match No:0表示随机,-1表示所有

  • 缺省值:当没有解析到值,用该缺省值替换。

4.3正则表达式提取器

1.使用场景
  • 适用于任何返回形式
  • 当接口返回值在xpath和json解析都不太好处理时,使用
2.位置
  • 后置处理器->正则表达式提取器

3.配置正则表达式提取器
  • Apply to 和 Field to check一般不需要动

  • 引用名称:存储提取的结果

    • 引用方法:${引用名称}
  • 正则表达式:jmeter中正则表达式可以百度

    • 举例
      • “session”:{(.*?)}
  • 模板:$1$,表示取第一个数据

  • 匹配数字:0表示随机选择,1表示第一个

  • 缺省值:当没有解析到值,用该缺省值替换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值