• 0
  • 0
分享
  • Jmeter之接口测试流程详解——软件按测试圈
  • 北极 2022-12-19 14:46:19 字数 2056 阅读 1196 收藏 0

一、jmeter简介

Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以;

Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。

二、jmeter安装

首先需要安装jdk(最好是最新版的);

其次去官网下载最新的jmeter版本;

然后配置jmeter的环境变量;

最后双击jmeter.bat或者在“命令提示符”输入jmeter,运行jmeter。

具体安装步骤请自行网上查看

三、设置jmeter的中文界面

进入jmeter的bin目录,找到“jmeter.properties”文件,打开文件搜索“language”,将“#language=en”改为“language=zh_CN”,保存之后再打开jmeter就永久变为中文环境了。

四、jmeter主要元件

(1)测试计划:是使用 JMeter 进行测试的起点,它是其它 JMeter测试元件的容器

(2)线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。

(3)配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。

(4)前置处理器:负责在请求之前工作,常用来修改请求的设置

(5)定时器:负责定义请求之间的延迟间隔。

(6)取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。

(7)后置处理器:负责在请求之后工作,常用获取返回的值。

(8)断言:用来判断请求响应的结果是否如用户所期望的。

(9)监听器:负责收集测试结果,同时确定结果显示的方式。

(10)逻辑控制器:可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

五、Jmeter元件的作用域和执行顺序

(1)元件作用域

  • 配置元件:影响其作用范围内的所有元件。

  • 前置处理器:在其作用范围内的每一个sampler元件之前执行。

  • 定时器:在其作用范围内的每一个sampler有效

  • 后置处理器:在其作用范围内的每一个sampler元件之后执行。

  • 断言:在其作用范围内的对每一个sampler元件执行后的结果进行校验。

  • 监听器:在其作用范围内对每一个sampler元件的信息收集并呈现。

  • 总结:从各个元件的层次结构判断每个元件的作用域。

(2)元件执行顺序:

配置元件->前置处理器->定时器->取样器->后置处理程序->断言->监听器

六、jmeter接口测试流程步骤

(1)测试计划—打开Jmeter,在菜单左侧出现 “测试计划”

1.png

(2)线程组—鼠标单击“测试计划”

2.png

3.png

  • 线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数

  • Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。

  • 循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

(3)HTTP请求—鼠标右键单击“线程组”

4.png

5.png

  • HTTP请求的名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

  • 注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。

  • 服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。

  • 端口号:目标服务器的端口号,默认值是80。

  • 协议:向目标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。

  • 方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、TRACE、OPTIONS、DELETE等。

  • 路径:目标URL路径(不包括服务器地址和端口)

  • 内容编码:内容的编码方式,常用UTF-8。

  • 自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。

  • 对Post使用multipart/from-data:当发送POST 请求时,使用multipart/from-data方法发送,默认不选中。

  • 同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

(4)添加断言—响应断言

6.png

(5)添加监听器—察看结果树、聚合报告

7.png

8.png


作者:测试框架师凃九

原文链接:https://blog.csdn.net/ifling99/article/details/125530394

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言:关于如何使用selenium webdriver测试REST api的问题,你可以在StackOverflow.com上看到很多相关的问题。不熟悉自动化测试的新人有时不理解Selenium仅仅基于WebUI做自动化测试。但是,如果你想使用Selenium为UI测试执行一些数据设置/数据清理,那么可以通过一些额外的库来实现这一点;这就是我们将在本文中看到内容。如果你只需要测试api,那么建议浏览这篇文章:Jmeter如何测试REST API /微服务Web UI测试存在的问题:慢(这是因为你的浏览器首先向服务器发送一个请求以获取某些信息,一旦获得所需数据,可能需要一些时间来处理数据,并通过...
            0 0 1160
            分享
          •      在这次面谈中,杰夫·佩恩,卡福罗的首席执行官和创办者,谈及了关于软件安全。他讨论物联网和它如何关联到关键性安全的设备,一些有用的工具,测试者如何测试安全,以及设备如何更方便地推动在你生活圈内的流程。  詹妮弗·博宁:我们更多在虚拟采访中背对着。希望你总是能在将近2小时我们即将讨论到的经常的话题留着。杰夫将开场。杰夫,感谢来到这儿。  杰夫·佩恩:感谢邀请我。  詹妮弗·博宁:对那些你不知道的事情杰夫,我过去已经和他谈过几次了。其中的一些事我觉得有趣去对虚拟观众谈论的是你也加入进来的事情。很明显的安全方面的大专家,所以我经常喜欢和您谈论关于安全。  杰夫·佩恩:当然...
            0 0 2068
            分享
          • 什么是自动化测试?自动化测试或测试自动化是一种软件测试技术,它使用自动化测试工具来执行测试用例套件。相反,手工测试是由坐在计算机前的人员仔细执行测试步骤来执行的。自动化测试软件还可以将测试数据输入被测系统,比较预期结果和实际结果,并生成详细的测试报告。软件测试自动化需要大量的金钱和资源投资。连续的开发周期将需要重复执行相同的测试套件。使用测试自动化工具,可以记录该测试套件并根据需要重复执行。一旦测试套件自动化,就无需人工干预。这提高了测试自动化的投资回报率。自动化的目标是减少手动运行的测试用例的次数,而不是完全消除手动测试。为什么要进行自动化测试?自动化测试是提高软件测试的有效性、测试范围和执...
            15 15 1123
            分享
          • web页面问题定位:第一步:前后端判断先判断是前端还是后端的问题,如果是接口请求响应数据是正常的,则进一步定位前端问题。前端问题可以通过F12打开调试模式,切换到source 页面进行查看是否是js文件内的语法错误,或者是资源文件位置未找到等问题第二部:后端具体原因分析后端接口请求异常,则可通过状态码进行判断400--请求语法错误,也就是前后端语法定义不一致401--未授权403--服务端拒绝访问404--资源不存在500--服务器内部错误如果遇到磁盘满了,就需要看应用程序是否活着,如果活着则返回500(服务器处理异常),若是应用程序已经死了,则返回400资源不存在了app端和服务端问题定位:...
            0 0 2513
            分享
          • 为了更真实的展现单元测试的魅力,我使用目前工作中的项目一段代码,你不需要理解具体的业务,只需要了解如何如何写单元测试,以及感受单元测试的魅力就可以了。这里我们改变一种方式,即我们先写功能代码,再补充单元测试,很多团队都是这样使用,虽然这样并不好,可是很多时候,我们新加入一个团队,不可能负责去做一个新的项目,都是在维护老的项目,并且当时的团队为了更快的编码而没有写单元测试。功能代码示例简单了解,只需要注意 条件判断和外部依赖(调用其他类的方法),明白我们的单元测试代码需要覆盖到所有的条件判断,和隔离MOCK 外部依赖。 /**      ...
            1 1 981
            分享
      • 51testing软件测试圈微信