百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

JMeter基础 jmeter菜鸟入门到进阶

csdh11 2024-12-20 14:07 4 浏览

一、Jmeter简介

  1. 什么是JMeter
  • Apache JMeter是Apache组织开发的一款开源软件,是典型的纯Java开发的压力测试工具。
  • 最初用于测试Web应用程序或FTP应用程序。但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。
  • JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
  • JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序返回了是否为期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言
  1. JMeter的优点
  • 开源 :JMeter完全免费,允许开发人员使用源代码进行开发
  • 友好的GUI :JMeter非常易于使用,并且不需要时间来熟悉它
  • 独立于平台 :JMeter是100%纯Java桌面应用程序。 所以它可以在多个平台上运行
  • 完整的多线程框架, 支持多线程组并发(如:多场景混合并发)
  • 可视化测试结果:测试结果可以以不同的格式显示,如图表,表格,树和日志文件
  • ?易于安装 : 您只需复制并运行* .bat文件即可运行JMeter。 无需安装。 高度可扩展 :您可以编写自己的测试。 JMeter还支持可视化插件,允许您扩展测试 多种测试策略 :JMeter支持许多测试策略,如负载测试 ,分布式测试和功能测试 。 模拟 :JMeter可以使用并发线程模拟多个用户,对正在测试的Web应用程序造成沉重负担 支持多协议 :JMeter不仅支持Web应用程序测试,还评估数据库服务器性能。 JMeter支 持所有基本协议,如HTTP,JDBC,LDAP,SOAP,JMS和FTP 录制和回放 : 在浏览器上记录用户活动,并使用JMeter在Web应用程序中模拟它们 脚本测试 :Jmeter可以与groovy, Bean Shell和Selenium集成进行自动化测试。
  1. JMeter的工作流程:
  • 创建对目标服务器的请求--->服务器响应—-->保存所有响应--—>收集和计算统计信息

—-->生成不同格式的测试报告

  • jmeter模拟多个用户向目标服务器发送请求,并返回性能结果
  1. JMeter的工作原理:

以WEB性能测试为例:jmeter可以作为web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和web服务器的响应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,jmeter就可以通过线程来模拟真实用户对web服务器的访问压力。这与LoadRunner的工作原理基本一致(向服务器提交请求;从服务器获取请求返回的结果

  1. JMeter主要功能
  • 性能测试(性能测试):支持HTTP、FTP服务器和数据库服务器(通过JDBC)
  • 接口测试:支持HTTP服务端接口测试
  • 功能测试:利用badboy录制测试脚本,可以快速的形成测试脚本
  • 回归测试:利用插件架构的优势,可以用于功能和接口的回归测试


二、JMeter下载安装

1、安装环境要求

  • Java版本:JMeter要求充分满足JVM1.3或更高。
  • 操作系统:JMeter可以在当前任何一个已经部署了Java的操作系统上运行,如:

Unix(Solaris,Linux,etc) 、 Windows(98,NT,2000,XP,WIN8)

2、JDK下载、安装

  • 官网下载jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • 安装jdk,下载完成后,双击安装即可
  • JDK环境变量配置

右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量:

  • 变量名:JAVA_HOME

变量值:D:\Program Files\Java\jdk1.8.0_92【jdk安装路径】

  • 变量名:CLASSPATH

变量值: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

  • 最后在系统变量“Path”的变量值加上%JAVA_HOME%/bin,记得在前面加上;号
  • 验证jdk

运行cmd->输入java -version->显示java版本就表示jdk安装成功

3、JMeter下载安装

  • Jmeter官网地址:http://jmeter.apache.org/download_jmeter.cgi
  • 下载解压Jmeter安装包,JMeter解压之后即可使用,无需安装。

4、JMeter环境配置

  • 新增:变量名:JMETER_HOME

变量值:E:\apache-jmeter-4.0 (就是jmeter保存的路径,即jmeter解压路径)

如:JMETER_HOME=D:\apache-jmetes\apache-jmeter-4.0

  • 修改:变量名: CLASSPATH

变量值:

;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar

  • 修改系统变量path,后面加上%JMETER_HOME%\bin
  • 验证配置:
  • 在cmd输入jmeter 可以直接打开,即配置成功

5、Jmeter 的Bin目录下的几个重要文件

  • jmeter.bat:windows下启动文件jmeter.sh:Linux下启动文件jmeter.log:Jmeter运行日志文件jmeter.properties:Jmeter配置文件jmeter-server.bat:windows下启动负载生成器服务文件jmeter-server:Linux下启动负载生成器文件

6、启动Jmeter

  • 第一种方法:直接在CMD输入jmeter启动第二种方法:双击Jmeter解压路径的bin目录下面的【jmeter.bat】即可启动

三、JMeter组件介绍 (JMeter常用组件)

1、测试计划(Test Plan)

  • JMeter中的”测试计划”,是测试的起点,同时也是其他所有组件的容器,存储所有元素以及运行和测试所需的相应设置(实际上是一个或一组测试用例)。可以将”线程组”(Thread Group)理解为一个测试用例,在一个测试计划中可以有多个测试线程组。最简单的测试用例包括:测试计划、线程组、取样器、监听器。
  • 页面元素介绍:名称:你可以为你的测试计划取一个有意义的名字注释:对测试计划的注释用户定义的变量:可以设置针对一些全局的值,定义为变量,共所有线程使用,在用到此变量的时候直接用${变量名}引用即可,例如变量名=url,值=http://www.badu.com,在需要时,直接用${url}就可以
  • (1、添加:可以添加一条记录,名称:定义变量的名称,供后续调用时使用;值:定义变量的值,根据需要可直接修改变量的值;
  • (2、Add from clipboard:添加来自于剪切板中的信息;
  • (3、删除:选择不需要的变量,可以进行删除;
  • (4、Up和Down:移动变量的位置;
  • (5、Detail:有记录时,可以选择点击Detail查看详情,并修改名称和值
  • 独立运行每个线程组:
  • 未勾选时:有多个线程组时,其随机启动执行;
  • 勾选后:多个线程组时,等待前一个线程组执行完成后才开始下一个线程组 ;
  • Run tearDown Thread Groups after shutdown of main threads:
  • 在主线程因错误结束执行时,如果勾选此选项,会执行tearDown线程组;如果不勾选,就不会执行tearDown线程组;
  • 函数测试模式:只有当你需要记录每个请求从服务器取得的数据到文件时才需要选择函数测试模式。选择这个选项很影响性能。在调试脚本的时候,可以开启,但是在压测数量时建议关闭。添加目录或jar包到ClassPath(add directory or jar to classpath):需要调用的外部jar包可以在这里进行添加设置。如:向类路径即%JMETER-HOME%\BIN中添加目录及jar包
  • (1、浏览可以点击选择;
  • (2、选择其中一条可以点击删除;
  • (3、点击清除时可以清除里面所有的记录;

注:什么是元素?

JMeter的不同组件称为Elements。 每个元素都是为特定目的而设计的。

2、线程组(Threads)

  • “线程组”是线程的集合。 每个线程代表一个用户(每个线程模拟一个到服务器的真实用户请求)。
  • 线程组控件:设置每个组的线程数

例如,如果将线程数设置为100; JMeter将创建并模拟100个用户对被测服务器的请求

  • 线程组是任何一个测试计划的开始点。每个测试需求的必备组件,JMeter 的每个任务都是用线程来处理的,

所有的控制器和取样器都是在某个线程组下;

  • 但有些配置元件,如:监听器,可能会被直接放到测试计划目录下。
  • 访问路径:【测试计划】-【线程】-【线程组】
  • 页面元素介绍:名称:为线程组起名字线程数:请求并发的数量(一般我们用来表示多少个用户,即我们测试时的用户数量)Ramp-Up Period(in seconds):在多少秒内创建“线程数”中定义的所有线程。设置的1000个用户,如果设置为1000秒,那么系统将会在1000秒结束前启动这1000个用户, 如果设置为0秒,则表示立即启动所有用户。每秒并发数 = 线程数/RUP, 设为0,则立即启动所有线程循环次数:当前线程组中的测试脚本循环运行次数(如果选择后面的“永久”,那么请求将一直继续,直到强制停止.如果不选择“永久”,而在输入框中输入数字,那么请求将重复指定的次数,如果是0,会出现问题)调度器配置-持续时间:测试计划持续多长时间,表示脚本持续运行的时间,以秒为单位,比如如果你要让用户持续不断登录1个小时,你可以在文本框中填写3600。调度器配置-启动延迟:测试计划延迟多长时间启动 Action to be taken after a Sampler error:用于设置出现错误后程序如何运行,操作如下
  • continue:忽略错误继续进行
  • Start Next Tread Loop:开始下一个线程
  • Stop Thread:停止当前线程
  • Stop Test:当前采样结束后,停止整个测试
  • Stop Test Now:立刻停止整个测试

3、逻辑控制器(Logic controller)

  • 逻辑控制器确定执行用户请求的顺序

逻辑控制器允许在线程中定义处理请求的顺序。它允许控制“何时”将用户请求发送到Web服务器。例如,可以使用随机控制器随机向服务器发送HTTP请求

  • 逻辑控制器可以组织取样器做出复杂的测试用的HTTP请求,以此满足测试需要。

例如:我们在收邮件时,只需要登录一次邮箱既可查看多封邮件。如果这个场景我们在Jmeter中实现,我们需要控制登录的次数,如何实现呢?Jmeter逻辑控制器中的仅一次控制器就可以完成。当然了,控制器不只是这一个,还有很多其他的控制器来完成我们的各种需求。

  • 控制器的访问路径:【测试计划】-【线程组】-【逻辑控制器】
  • 循环控制器:循环控制器使用户请求运行指定的次数或永久运行循环控制器示例:

除了为“线程组”指定的循环值之外,循环控制器使取样器运行一定次数。例如,如果你

将一个HTTP请求添加到循环控制器,循环计数为50

将“线程组”循环计数配置为2

然后,JMeter将发送总共50 * 2 = 100个HTTP请求。

  • 配置线程组
  • 添加线程组:向网络服务器baidu.com发出一个用户请求并运行2次。
  • 配置循环控制器
  • 将值50添加到循环计数字段,如下图所示。它将向web服务器baidu.com发出一个用户请求,运行50 次,

除了循环值= 2,你为上面的线程组指定。所以JMeter将发送总共2 * 50 = 100个HTTP请求。

  • JMeter将一个用户请求(发送100次)模拟到Web服务器http://www.baidu.com/。在100次发送用户
  • 请求后停止测试。

又如:线程组中设置循环次数3,循环控制器中设置循环测试2,


即:线程组的循环与循环控制器为父子关系,且循环控制器只对子请求有效

注:录制脚本的循环按循环控制器中的调协循环

  • 仅一次控制器:

作为循环控制器的子节点,仅一次控制器在每循环的第一次迭代时均会被执行

  • 随机控制器:随机控制器使所有用户请求在每个循环周期中以随机顺序运行。例如,您按以下顺序向网站http://www.baidu.com提出了3个用户请求:

HTTP请求、FTP请求、JDBC请求

这3个请求应该运行5次; JMeter将向baidu服务器发送总共5个用户请求。

按顺序,按以下顺序依次发送请求:HTTP请求 - > FTP请求 - > JDBC请求,对于每个循环按随机顺序,请求随机发送,FTP请求 - > HTTP请求 - > JDBC请求 或 JDBC请求 - > FTP请求 - > HTTP请求等

4、配置元件(Config element)

  • 配置元件,设置默认值和变量供以后取样器使用。同其名字一样,只是配置一些默认的属性和信息,供取样器获取所需要的各种配置信息,它不向服务器发送任何的请求。
  • 配置元件仅对其所在的测试树分支有效。
  • 例如,HTTP请求默认值设置了服务器的名称,那么它所在的测试分支内的HTTP请求的服务器名称都是这个服务器,HTTP请求仅设置路径就可以访问网页了。
  • 性能测试中为了模拟大量用户操作我们往往需要做参数化,Jmeter的参数化可以通过配置元件来完成,

比如CVS Data Set Config,它可以帮助我们从文件中读取测试数据。另外Jmeter也提供了众多的函数来帮我们生成动态数据。

  • 当然配置元件的作用不仅于此,它还可以用来记录服务器的返回数据,比如HTTP Cache Manager(HTTP

缓存管理器),自动记录服务器返回的Cache信息。简单说就是它为取样器提供预备数据,然后由取样器

发出请求。

  • 常用的配置如下图框中所示元件:
  • CSV数据集配置:
  • 假设要为使用不同凭据登录的100个用户测试网站。 您不需要记录脚本100次! 您可以参数化脚本以输

入不同的登录凭据。 该登录信息(例如,用户名,密码)可以存储在文本文件中。 JMeter有一个元素,允许您从该文本文件中读取不同的参数。 它是“CSV数据集配置”,用于从文件中读取行,并将它们拆分为变量。


这是CSV数据的示例。 这是一个文本文件,其中包含用于登录目标网站的用户和密码

  • HTTP Cookie管理器
  • 例子:使用浏览器(Firefox,IE ...等)浏览www.baidu.com,使用到的用户名和密码登录,用户名 和

密码将作为cookie存储在计算机中。下次访问www.baidu.com时 ,无需再次登录,因为在浏览器将使用您的Cookie作为用户数据登录。

  • HTTP Cookie管理器也具有与Web浏览器相同的功能。 如果您有HTTP请求并且响应包含cookie,则

Cookie管理器会自动存储该cookie,并将其用于将来对该特定网站的所有请求。

  • HTTP默认请求

此元素允许您设置HTTP请求控制器使用的默认值

  • 例如:
  • 您正在向服务器google.com发送100个HTTP请求,您必须为所有这100个请求手动输入

server name = google.com

  • 相反,您可以使用“服务器名称或IP”字段= google.com添加单个HTTP请求默认值无需键入100次!

PS:在执行顺序方面有个例外,配置元件"用户定义的变量"无论它处于测试树的哪个位置,总是在测试的初始阶段执行。所以个人建议把它放在线程组的开始部分。

5、定时器(Timer)(固定定时器:思考时间

  • 默认情况下,JMeter发送请求而不会在每个请求之间暂停 。 在这种情况下,JMeter可能会在很短的时间内发出太多请求,从而压垮您的测试服务器。
  • 在现实生活中,访问者不会同时到达网站,而是以不同的时间间隔到达网站。 因此,Timer将有助于模拟实时行为,在线程发出的每个请求之间延迟 。从而解决服务器过载问题。
  • 为了足够真实地模拟用户负载,我们有时会需要模拟这些请求在同一时刻发送,就好像把大家集合在一条起跑线上,然后一声令下,同时起跑。那么我们此时需要一个集合的功能,Jmeter中可以通过定时器来完成这个需求。
  • 当然了,定时器不只有这个功能,定时器种类有很多。
  • 访问路径:【测试计划】-【线程组】-【定时器】
  • 固定定时器:
  • 固定定时器(Constant Timer):会在每个用户请求延迟相同的时间。
  • 例:,使用Constant Timer在用户请求baidu.com之间设置固定延迟 :

JMeter向http://www.baidu.com创建一个用户请求100次

每个用户请求之间的延迟为5000毫秒

  • 用View Results in Table看结果比较明了
  • 同步定时器(Synchronizing Timer)
  • 这个定时器和loadrunner当中的集合点(rendezvous point)作用相似,其作用是:阻塞线程,直到指定的 线程数量到达后,再一起释放,可以瞬间产生很大的压力
  • Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量
  • Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数

6、前置处理器(Per processors)

  • 在测试脚本开发过程中,我们在请求发送前可能会做一些环境或者参数的准备工作,那么我们可以在前置处理器中来完成这些工作。比如我们在对数据库进行操作前需要先建立一个数据库连接,那么前置处理器就可以完成这个功能。前置处理器访问的路径:【测试计划】-【前置处理器】

7、取样器(Samples)

  • Sampler(取样器)主要的执行组件。线程组如何知道需要进行哪种类型的请求(HTTP,FTP等)呢?答案是取样器。用户请求可以是FTP请求,HTTP请求,JDBC请求......等取样器用来模拟用户操作,向服务器(被测系统)发出http请求、webservice请求或者java请求等。我们可以把http请求元件看成是一个没有界面的浏览器,它可以发送http请求,接收服务器响应的数据(我们主要用HTTP请求)。每一个取样器都可以被监听器监听,并生成测试结果。通常情况下,取样器会按照其在测试树中的顺序去执行,但是也会根据逻辑控制器来改变运行的次数和顺序。
  • 取样器的访问路径:【测试计划】-【线程组】-【Sampler】
  • FTP request
  • 假设您想要对FTP服务器进行性能测试。 您可以在JMeter中使用FTP请求采样器来执行此任务。 此控制器允许

您将FTP“下载文件”或“上载文件”请求发送到FTP服务器。

  • 例如,如果要从测试的FTP服务器下载文件“Test.txt”,则需要在JMeter中配置一些参数,如下图所示

JMeter将FTP命令发送到FTP服务器ftp.example.com ,然后从该服务器下载文件Test.txt。


  • HTTP request
  • 此取样器允许您将HTTP/HTTPS请求发送到Web服务器。
  • JDBC请求:
  • 此取样器允许您执行数据库性能测试 。 它将JDBC请求(SQL查询)发送到数据库。
  • 例如,数据库服务器具有存储在表名test_tbl中的字段test_result。 您想从数据库服务器查询此数据;

您可以配置JMeter将SQL查询发送到此服务器以检索数据。

  • SMTP 取样器:

如果要测试邮件服务器,可以使用SMTP采样器。 此采样器用于使用SMTP协议发送电子邮件

8、后置处理器(post processors)

  • 后置处理器一般放在取样器之后,专门用来处理请求后服务器响应的返回结果的元件。比如一个web应用程序,我们登录后会返回一个sessionID,这个sessinID在登录之后的业务操作过程中会作为验证条件,验证用户是否合法登录了。我们利用取样器模拟这个请求时就需要带上这个属性,那么如何获取呢?首先我们要知道这个sessionID从哪来?它是由服务器返回的。接着我们要获取它,用什么工具获取呢?Jmeter帮我们提供了元件,比如正则表达式提取器,它支持正则表达式的方式提取数据。又比如,XPath Extractor:可以提取响应数据中通过给定XPath 值获得的数据;正则表达式提取器:可以利用正则表达式方便的提取测试时所需的数据,用以参数传递和断言等。访问路径:【测试计划】-【后置处理器】

9、断言(Assertions)

  • 断言,用来判断取样器是否正常工作,判断请求响应是否正确,验证结果是否正确。

用过LR的读者应该会知道检查点这个功能,可以帮助我们来判断请求是否成功返回且是否符合要求,在Jmeter中我们不叫检查点,我们叫断言,接触过selenium的也会懂这个概念。就是用一个预设的结果(值、表达式、时间长短等条件)与实际结果匹配,匹配到则成功,反之失败。

  • 使用断言的目的:在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确使用断言的方法:
  • 在选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同);配置好响应的检查内容添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言;对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称; 如果失败,则除了请求的名称外,还会有一行失败的原因(不同类型的断言,结果不同)。
  • PS:一个Sampler可以添加多个断言,根据你的检查需求来添加相应的断言,当Sampler下所有的断言都通过了,那么才算request成功断言访问路径:【测试计划】-【断言】
  • “响应断言“允许您添加模式字符串以与服务器响应的各个字段进行比较。
  • 例如,您向网站http://www.baidu.com发送用户请求并获取服务器响应。 您可以使用Response Assertion来验证服务器响应是否包含预期的模式字符串(例如“OK”)。

APPly to:适用范围

Main sample and sub-samples:作用于父节点取样器及对应子节点取样器

Main sample only:仅作用于父节点取样器

Sub-samples only:仅作用于子节点取样器

JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)

要测试的响应字段:要检查的项

响应报文

Documeng(text):测试文件

URL样本

响应代码

响应信息

Response Headers:响应头部

Ignore status:忽略返回的响应报文状态码

模式匹配规则:

包括:返回结果包括你指定的内容

匹配:(好像跟Equals查不多,弄不明白有什么区别)

Equals:返回结果与你指定结果一致

Substring:返回结果是指定结果的字串

否:不进行匹配

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

10、监听器(Listener)

  • Jmeter的测试结果需要添加监听器来搜集,监听器主要用于收集整理测试结果,并将测试结果数据进行处理并展示出来。可以指定格式生成XML、CSV等形式的文件。查看结果树,用表格查看结果,图形结果...聚合报告等,都是我们经常会用到的元件。
  • Jmeter的监听器有两个任务。
  • 添加结果监听,并且可以保存测试结果到文件,这些结果数据可以供再次分享使用。
  • 展示结果,Jmeter可以以表格及图形的形式展现结果,方便测试人员分析测试结果。
  • 【取样器】、【断言】、【监听器】组合在一起就可以帮我们完成发送请求、验证结果及记录结果三项工作
  • 监听器的访问路径是:【测试计划】-【监听器】
  • “图形结果”侦听器(Graph Results)

“图形结果”侦听器在图形上显示服务器响应时间

  • 查看结果树

“查看结果树”以基本HTML格式显示用户请求的结果(View Results Tree)

通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过。

Thread Name:线程组名称

Sample Start: 启动开始时间

Load time:加载时长

Latency:等待时长

Size in bytes:发送的数据总大小

Headers size in bytes:发送数据的其余部分大小

Sample Count:发送统计

Error Count:交互错误统计

Response code:返回码

Response message:返回信息

Response headers:返回的头部信息

这里绿色的就说明请求是通过的,返回值是200,如果出现红色的×就说明请求失败,这时候可以通过右边的取样器结果和响应数据来查看结果。

  • 表格侦听器

用表格可看结果(View Results in Table)

四、组件执行顺序

在同一作用域名范围内(不考虑逻辑控制器),测试计划中的元件按照如下顺序执行。
(1)配置元件(config elements )
(2)前置处理程序(Per-processors)
(3)定时器(timers )
(4)取样器(Sampler)
(5)后置处理程序(Post-processors) (除非Sampler 得到的返回结果为空)
(6)断言(Assertions)(除非Sampler 得到的返回结果为空)
(7)监听器(Listeners)(除非Sampler 得到的返回结果为空)

问题

1、为什么要使用jmeter?他可以帮我们解决那些事情?

  jmeter主要是做接口测试和性能测试,它支持的协议也不少,用来测试http,数据库并发都是很方便快捷的工具,相对于lr来说更灵活与实用,等等

2、我们在什么时候会使用jmeter?

  · 在一个项目中我们可能前段还没有开发完毕我们想看一下服务器的相应数据。

  · 比如我们校验数据库有没有做校验,我们可以绕过前端

  · 我们想看一下这个接口或者多个接口的并发量是多少,性能怎么样

3、.谁在使用?为什么是他在使用?

  一般使用者为开发人员或者测试人员。

  开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件

  支持接口测试,压力测试等多种功能,支持录制回放,入门简单

  相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试

  多平台支持,可在Linux,Windows,Mac上运行

4、使用jmeter需要了解什么?接口与接口之间的联系怎么处理?

  · 我们必须了解接口的工作原理

  · 需要掌握http中的get和post请求原理

  · 需要掌握请求头,响应头,请求体个个字段代表什么意思,并且字段的返回值的各代的含义是什么?

  · 响应的状态码各代表什么含义·

  · json是什么?

  · 接口测试用例的设计方法,以及测试时点

  接口之间的联系:

  接口与接口之间存在联系,比如上个接口的返回值是下一个接口的入参,那我们就要在上个接口返回值赋值变量,供下一个接口调用。

5、在使用jmeter中我想要的预期结果和实际结果是怎样对比的?

  · 我们做所有的测试无非就是预期结果和实际结果作对比,如果预期结果和实际结果作对比,那么这个接口就是可用的,不相等那么这个接口就是有问题的。

  ·在jmeter中我们的用断言做实际结果和预期结果的对比,它提供了许多断言方法,其中最常用的就是响应断言,在后面我会专门的写一下响应断言以及一些常用断言的用法。

  · 我们还需要知道在jmeter中我们断言的内容是啥?这点是很重要的

7、使用jmeter的是的我们的有哪些方面的提升,jmeter的主流方向是什么?

  · 对整个前端与后端的一个相互传输数据原理有了进一步了解

  · 可以提高测试效率,可以提早的参与进来,较早的发现问题,减少开发成本,缩短整个产品的上线周期,可以给测试流出充裕的时间,保证产品质量。

  ·掌握了接口测试的测试点,已及用例的设计方法。

  jmeter测试的主流方向:

  · 用于性能测试,压力测试

  · 接口测试

相关推荐

15个最好的性能测试工具(软件测试工程师必备)

在软件测试日常工作中,大家接触得比较多的性能测试工具有LoadRunner和Jmeter,这里整理了web应用程序性能和负载压力能力的最广泛使用的性能测试工具的综合列表。...

JMeter关联陌生又熟悉 jmeter re-use connection

JMeter关联是什么JMeter关联,这几个字看着可能会有点陌生,实际上却是工作中经常会做的一件事情,尤其是接口自动化,它指的是把一个接口的响应作为另一个接口的参数,从而...

jmeter汇总报告分析 jmeter总结

背景考验网站的不仅仅是数据的正确性,还有更重要的是灵活快速的交互,高并发的处理能力等。那么我们就需要对网站的整体的处理能力有更进一步的了解,以便来通过诸如集群,分布式,更换硬件等方式来提高网站处理能力...

收下这份实操案例,还怕不会用Jmeter接口测试工具

JMeter简介JMeter,一个100%的纯Java桌面应用...

Apifox--比 Postman 还好用的 API 测试工具

读者提问:有没有一款工具是集API文档、API调试、APIMock、API自动化测试四种功能为一身的?...

Jmeter之Bean shell使用(二) jmeter中beanshell的定义与引用

 上一篇Jmeter之Beanshell使用(一)简单介绍了下Jmeter中的Beanshell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求。本节内容...

如何服务端调优与JVM调优? 服务端运行环境为jvm

目录一、安装Jmeter二、压测三、服务端调优四、线上问题分析(一)问题分类(二)问题排查...

Jmeter与压测相关概念 jemeter压测

RT(responsetime)什么是RT?RT就是指系统在接收到请求和做出相应这段时间跨度但是值得一提的是RT的值越高,并不真的就能说明我们的系统的吞吐量就很高,比如说,如果存在数据在网络中传...

性能测试:JMeter参数化 jmeter的参数化

jmeter参数化  在实际的测试工作中,我们经常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试,而在实际测试工作中,测试工具中实现不同...

JMeter 集群环境搭建指南 - 实现高效的压力测试

JMeter是一款非常受欢迎的压力测试工具,但是在大规模压力测试时,单机运行已经无法满足需求了。为了提高负载能力,我们需要搭建JMeter集群。下面,我们来看具体的做法。...

2022年十大接口测试工具合集 好用的接口测试工具

接口测试的全称是应用程序编程接口(API)测试,从原理上来说,接口测试是模拟客户端向服务器端发送请求,然后检查能否获得正确的返回信息。接口测试用于测试RESTfulAPI、SOAPWeb服务,这些...

阿里性能专家全方位对比Jmeter和Locust,到底谁更香?

本文章出自【码同学软件测试】码同学公众号:自动化软件测试码同学抖音号:小码哥聊软件测试...

性能测试工具JMeter的使用 使用jmeter进行两个接口关联测试

熟练掌握一款性能测试工具,是我们必备的一项技能。他不仅可以帮助我们模拟测试场景(包括并发、复杂的组合场景),还能将测试结果转化成数据或图形,帮助我们更直观地了解系统性能。jmeter简介...

JMeter做性能测试,用jdk17和jdk8,哪个性能更好呢?

现在企业做接口性能测试,大多还是会用JMeter,而JMeter是用java开发的、开源项目,所以,JMeter依赖java运行环境。目前,jdk已经发布了多个新版本,主推的是jdk17。推荐它的一个...

基于JMeter的性能压测平台实现 jmeter压测分析

这篇文章已经是两年前写的,短短两年时间,JMeter开源应用技术的发展已经是翻天覆地,最初由github开源项目zyanycall/stressTestPlatform形成的这款测试工具也开始慢...