【学习总结】jmeter入门概述

测试工具jmeter-从入门到精通-汇总

目录

=========================================

概述

简介

  • apache公司用java平台开发的一款测试工具

可以做什么

  • 接口测试-多
  • 性能测试
  • 压力测试-多
  • 数据库测试
  • java程序测试

优点

  • 开源免费
  • 支持多协议-HTTP,tcp,udp
  • 轻量级
  • 功能强大

缺点

  • 无法验证JS程序和页面UI,必须配合selenium使用

返回目录

=========================================

安装与启动

准备

  • java环境

下载

安装版本选择

路径

  • 解压zip文件后,放在一个没有中文字符的路径下

启动

  • jmeter路径的bin目录下,双击jmeter.bat启动jmeter
    • 注:Linux下,用jmeter.sh启动
  • Jmeter 是支持中文的, 启动Jmeter 后, 点击 Options -> Choose Language 来选择语言

插件安装

  • jmeter本身支持的包不多,一些功能需要下载插件;
  • 下载路径:https://jmeter-plugins.org/install/Install/
  • 放置路径:jmeter的 lib/ext 路径下
  • 重启后,在jmeter的选项最下方可以看到插件

jmeter目录介绍

  • 启动cmd窗口

  • bin



  • 其他目录

    • lib:存放jar包,是jmeter的核心文件;
    • printable_docs:存入jmeter用户手册,帮助文档

返回目录

=========================================

脚本入门

主页面布局

向百度发送请求

向百度发送请求操作

  • 步骤1:添加测试计划

    • 注:开启后,默认有一个已经创建好的测试计划
  • 步骤2:添加线程组

  • 步骤3:添加HTTP请求

  • 步骤4:配置HTTP请求

  • 步骤5:添加查看结果树组件(生成的结果树界面不作任何配置)

  • 步骤6:执行测试计划


返回目录

=========================================

测试计划元件

名称修改

  • 测试计划:可将名称设置为“项目名称”
  • 线程组:可将名称设置为“业务流程”
  • HTTP请求:可将名称可以设置为“接口名称”

测试计划test plan

  • 可进行相应的修改:将名称设置为项目名称

线程用户thread user

线程组:

  • 线程数:即请求的虚拟用户数,不等于并行用户数。

  • ramp-time:完成所有线程执行的时间设置。

  • 循环次数:对所有线程进行循环。



取样器sampler

作用:

  • 性能测试中,向服务器发送请求,记录响应信息,记录响应时间的最小单元。

  • 常见:HTTP请求,ftp请求,tcp请求等。

逻辑控制器login controler

两类

  • 一类:控制测试计划中取样器节点发送请求的逻辑顺序,如if,switch,循环等。

  • 一类:组织和控制测试计划中取样器节点,如事务控制器,吞吐量控制器。

配置元件config element

  • 用于提供对静态数据配置的支持,即参数化。

定时器timer

  • 用于设置操作之间的等待时间

前置处理器per processor

  • 用于在实际请求发出之前,对即将发送的请求进行特殊处理。

后置处理器post processor

  • 用于在取样器发出请求的服务器响应进行处理。

断言assertion

  • 用于检测测试中得到的响应数据是否符合预期。

监听器listener

  • 对测试结果进行处理和可视化展示,如图形结果,查看结果树,聚合报告等。

返回目录

=========================================

jmeter运行原理

在jmeter中,以线程的方式运行

  • 因为如果是进程方式,并发时,开销太大

jmeter通过线程组来驱动多个线程运行测试脚本

运行方式:GUI模式(界面窗口模式);命令行模式(cmd)

  • 命令行模式:对负载机的资源消耗更小。
  • GUI模式:对电脑的资源消耗较大,无法实现大的并发和压力测试;主要用于创建和调试。

注:执行jmeter的电脑叫做负载机

返回目录

=========================================

jmeter脚本要素

接口三要素

  • 请求地址,请求参数,返回值

jmeter脚本要素

  • 测试计划:脚本中测试计划只能有一个

  • 在测试计划中,至少有一个线程组

  • 在线程组中,至少有一个取样器

    • 取样器:发送请求,记录响应时间和相应内容
  • 在测试计划中,必须有监听器

返回目录

=========================================

jmeter录制脚本

使用工具badboy录制

  • 注:badboy只能录制web端,不能录制客户端;

  • badboy安装:

    • 傻瓜式,可以自定义安装路径。
  • 打开:

    • 安装时在开始菜单栏中添加,因此可以通过开始菜单打开。
  • 录制:

    • 打开后,即是recording状态,输入网址后点击即可开始录制;
    • 在右侧进行操作;
  • 停止记录并保存为jmeter:

    • 停止记录的红色按钮可以停止记录;
    • 保存为jmeter,之后可以从jmeter导入录制好的脚本。
  • jmeter导入:

    • 打开 -- 找到.jmt文件,并选择;
    • 要查看结果,需要手动添加监听器,如查看结果树,然后进行运行等其他操作。

使用jmeter自身代理录制移动端

  • 配置jmeter

    • 创建新的测试计划,并添加一个线程组;
    • 在测试计划右键添加HTTP代理服务器:添加-非测试元件-HTTP代理服务器
    • 配置HTTP代理服务器:端口8888默认(如果被占用,再修改),HTTP domains:localhost或本地IP,目标控制器选择"测试计划-线程组"
    • 启动:按代理服务器内部的启动,不是菜单栏的启动,启动后OK,开始录制。



  • 配置移动端(手机端)

    • 获取本地域名和端口号:pc端->cmd->ipconfig查询ipv4网络信息;
    • 手机端:长按WiFi-(修改网络-高级选项-)代理-手动-输入主机名和端口号-修改网络(同fiddler配置)
    • 手机端操作:如登录操作,jmeter里有相应的记录;点击停止来停止录制。
    • 线程组添加监听器-查看结果树:可以查看执行结果;
    • 保存jmeter文件:线程组右键-选中部分保存为。




返回目录

=========================================

jmeter配置文件修改

路径

  • jmeter/bin目录下:打开 jmeter.properties 配置文件,修改后的语句去掉注释井号

  • 配置后保存退出,重启jmeter

中文乱码

  • 查找csvdataset.file.encoding_list

  • 修改为csvdataset.file.encoding_list=UTF-8|UTF-16|ISO-8859-15|US-ASCII

  • 去掉本条语句前的井号,并重启jmeter

  • 注:若上述修改没有用,则需要对源码进行修改,即对jar包进行反编译。

默认语言

  • 查找language

  • 修改为language=zh_CN (表示中文简体)

  • 去掉本条语句前的井号,并重启jmeter

返回目录

=========================================

END

posted @ 2020-05-02 23:15  anliux  阅读(810)  评论(0编辑  收藏  举报