Skip to content

Jmeter


Jmeter 简介

Jmeter 是Apache 组织使用Java 开发的一款测试工具:

  • 可以通过对服务器、网络或对象模拟巨大的负载
  • 通过创建带有断言的脚本来验证程序是否能返回期望的结果

优点

  • 开源、免费
  • 跨平台
  • 支持多协议
  • 小巧
  • 功能强大

缺点

  • 不支持IP欺骗
  • 使用Jmeter 无法验证JS程序,也无法验证业务UI,所以要和Selenium 配合来完成Web2.0应用的测试。

Jmeter 安装

JMeter 是使用Java 编写的,必须安装Java环境:

  • JDK:Java 开发工具包
  • JRE:Java运行环境

下载并安装JMeter

JMeter设置成中文

  • bin文件内的jmeter.properties文件 clipboard
  • 打开这个文件,找到#language=en 改成 language=zh_CN

JMeter的编码

  • bin文件内的jmeter.properties文件 clipboard
  • 打开这个文件,找到#sampleresult.default.encoding=UTF-8 改成 language=zh_CN

Jmeter 启动

方式一:有java环境时,直接jar启动,在bin目录下,双击ApacheJMeter.jar,就会打开界面 clipboard

方式二:bin 目录下,双击jmeter.bat,等待一会就会弹出窗口,但是注意,控制台不能关闭,否则服务就会停掉。 clipboardclipboard

Jmeter 基本使用

设置接口三要素查询所有机构信息

  • 测试计划---右键---线程---添加线程组 clipboard
  • 线程组---右键---取样器---http请求 clipboard
  • 测试计划---右键---添加监听器---查看结果树 clipboard 附加:查看结果树,当http请求显示绿色说明发送请求成功,就可以查看请求响应的数据 clipboard

Jmeter 线程组

线程组是什么

  • 线程组是JMeter中任何一个测试计划的开始点
  • 在一个测试计划中的所有元件都必须在某个线程组下
  • 线程组决定JMeter执行测试计划的线程数 clipboard

setUp 线程组

介绍:在做接口测试前,一般会做一些准备工作,比如数据准备、登录等。这时候就可以用到setUp线程组,它类似于单元测试框架uniitest、pytest中的前置操作逻辑。 clipboard

线程组界面及属性介绍clipboard

tearDown 线程组

介绍:在做接口测试后,一般会做一些收尾工作,比如退出登录、关闭数据库连接、清理数据等。这时候就可以用到tearDown线程组,它类似于单元测试框架uniitest、pytest中的后置操作逻辑。

:界面和属性与setUp线程组一致

线程组执行顺序

setUp线程组 > 线程组 > tearDown线程组

http 请求的默认值

http 请求默认值:被复用的内容的封装 clipboard

设置了默认值,则在该机构树下的请求设置就不需要再重复设置了 clipboard

信息头管理器

介绍:新增修改实现时提交的数据是JSON格式的,需要声明提交的数据的内容类型

HTTP信息头管理器是在有需要模拟请求头部的时候进行设置的,添加方式 是 右击线程组 -- 配置元件 -- HTTP信息头管理器 clipboard

可以通过抓包工具或者F12获取http请求的header头部信息;如下图:

clipboard

复制并点击jmeter中的从剪贴板添加,就会自动添加到http信息头管理器的列表中;如下图

clipboard

:post请求中如果body中的数据为json,一定要在信息头管理器中加上Content-Type: application/json,表示发送的body为json格式的数据

参数化

问题:当提交的数据量较大,怎么提交?每测试一次就修改一次吗?

定义:动态的获取,设置或生成数据,是一种有程序驱动代替人工驱动的数据设计方案,提高脚本的编写,效率以及编写质量

以下是四种方式实现参数化:

  • 用户定义的变量
  • CSV 数据文件设置
  • 用户参数
  • 函数

直连数据库

Last updated: