性能测试工具(安装、介绍功能及基础使用、参数化、断言)

一、工具介绍

  1、Loadrunner 介绍

 

 

  2、JMeter 介绍

 

 

  

二、jmter 环境搭建

  1、安装 JDK

    JDK 下载 --- 安装 JDK --- 配置环境变量 --- 校验

 

 

  2、安装 JMter(记住版本需要与JDK版本匹配)

 

 

  3、JMter 功能概要

    1、JDK 常用文件目录介绍

      Bin 目录:存放 可执行文件 和 配置文件

 

 

      docs 目录:是JMeter 的 api 文档,用于开发扩展组件

      printable_docs 目录:用户帮助手册

      lib 目录:存放 JMeter 以来的 jar 包和用户扩展所依赖的 jar 包

 

   

  2、修改默认配置 -- JMeter 界面的汉化

 

 

  4、JMeter 元件和组件介绍

    1、元件的基本介绍

 

 

    2、组件的介绍

 

 

  3、元件的作用域

    元件的作用域:是靠测试计划的树形结构中元件的父子关系来确定的。

    所有的组件都是以取样器为核心来运行的。组件添加的位置不同,生效的取样器也不同。

    作用域原则:

 

 

  4、元件的执行顺序    

 

     例子(下图案例执行顺序)

 

 

三、JMeter 的使用

  1、第一个案例

 

 

  2、线程组

    作用:线程组就是控制 JMeter 用于执行测试的一组用户

    位置:右键点击“测试计划” --- 添加 --- 线程(用户)--- 线程组

 

     分类:

      线程组:普通的、常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户(可以串行执行,也可以并行执行)

      setUp 线程组:一种特殊类型的线程组,可用于执行预测试操作。(在所有线程之前执行)

      tearDown 线程组:一种特殊类型的线程组,可用于执行测试后操作。(在所有线程之后执行)

 

 

    参数介绍:

 

 

  3、HTTP 请求

 

     查看结果树:一个 HTTP 请求下 包含了两个HTTP 请求

 

     查看结果树乱码:(去配置文件里面重新配置:sampleresult.default.encoding)改为:sampleresult.default.encoding=UTF-8,同时把 # 号去掉。然后重启JMeter。

 

四、JMeter 参数化

  定义:使用参数的方式来替代脚本中的固定测试数据

  实线方式:文件定义方式(所有测试数据都是固定的情况下)、数据库方式(灵活)、定义变量(最基础)、函数方式(灵活)

  参数化测试:把测试数据组织起来,用不同测试数据调用相同测试方法。

  1、用户定义变量

    作用:定义全局变量

    位置:测试计划 --- 线程组 --- 配置元件 --- 用户定义变量

    例子:要求使用用户定义的变量配置被测系统的协议、域名和端口。(https://www.baidu.com:443)

      使用上面的参数

 

  2、用户参数

    作用:针对同一组参数,当不同用户来访问时,可以获取到不同值

    位置:测试计划 --- 线程组 --- 前置处理器 --- 用户参数

     例子:

 

  3、csv 数据文件设置

    作用:让不同用户多次循环,可以取到不同的值

    位置:测试计划 --- 线程组 --- 配置元件 --- csv 数据文件设置

     文件格式:

 

  4、函数(__counter)

     作用:计数函数,一般做执行次数统计使用。

    位置:在菜单中选择 --- 选项 --- 函数对话框助手

     例子:

 

 

五、JMeter 断言

  让程序自动判断预期结果和实际结果是否一致

  提示:jmeter 在请求的返回层面有个自动判断机制(响应状态码)

  jmeter 中常用断言:

    响应断言(对任意格式进行断言)、JSON断言、持续时间断言(duration assertion)

  1、响应断言

    对 http 请求的任意格式的响应结果进行断言

    位置:测试计划 --- 线程组 --- HTTP请求 --- (右键添加)断言 --- 响应断言

    测试字段:(各个项目解释)

     匹配规则(各个解释)

     

    测试模式:即填写你指定的结果(可以填写多个),按钮【添加】、【删除】是进行指定内容的管理

 

  2、JSON数据的断言

    作用:对 HTTP 请求的JSON格式响应数据结果进行断言

    位置:测试计划 --- 线程组 --- HTTP请求 --- (右键添加)断言 --- JSON断言

    JSON元素路径:就像代码里面的 resp.json().get("key") 一样,需要取出里面的键值对数据,就像下面的 $.weatherinfo.city 下面红框是必选的。

 

  3、断言持续时间

    作用:检查HTTP请求的响应时间是否超出要求范围

    位置:测试计划 --- 线程组 --- HTTP请求 --- (右键添加)断言 --- 断言持续时间

 

 

    

  

posted @ 2023-04-15 17:38  新入世界的小白  阅读(114)  评论(0编辑  收藏  举报