. 修改语言

修改 在 bin 目录下的 Jemeter.properties

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.元件执行顺序:

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

    注意事项:

    1.前置处理器、后置处理器和断言等组件只能对取样器起作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。

    2.如果在同一作用域内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行。

三、Jmeter进行接口测试流程

  使用Jmeter进行接口测试的基本步骤如下:

    1.测试计划

    2.线程组

    3.HTTP Cookie管理器

    4.Http请求默认值

    5.Sampler(HTTP请求)

    6.断言

    7.监听器(查看结果树、图形结果、聚合报告等)

四、Jmeter进行接口测试流程步骤详解

  1、测试计划

    打开Jmeter,在菜单左侧出现 “测试计划”。在这里测试计划我们可以把它理解成新建的空白项目,在这个空白项目下面可以添加一系列的接口。

  2、线程组

    添加方法:右键点击Test Plan->添加->线程(用户)->线程组。

    元件描述:一个线程组可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。

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

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

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

  3、HTTP Cookie管理器

    添加方法:右键线程组->添加->配置元件->HTTP Cookie管理器。

    元件描述:HTTP Cookie管理器可以像浏览器一样存储和发送cookie,如果你要发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时,都可以用这个cookies。

  4、HTTP请求默认值

    添加方法:右键线程组->添加->配置元件->HTTP请求默认值。

    元件描述:HTTP请求默认值是为了方便填写后续内容而设置。主要填写[服务器名称或IP]和[端口号],后续的HTTP请求中就不用每次都填写IP地址和端口号了。

  5、HTTP请求

    添加方法:右键线程组->添加->Sampler->HTTP请求。

    元件描述:HTTP请求包括接口请求方法、请求路径和请求参数等。

  HTTP请求详解

    (1)名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

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

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

    (4)端口号:目标服务器的端口号,默认值为80 。

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

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

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

    (8)内容编码:内容的编码方式,默认值为iso8859

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

    (10)使用keep Alive :保持jmeter 和目标服务器之间的活跃状态,默认选中

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

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

  6、响应断言

    添加方法:右键HTTP请求->添加->取样器->HTTP请求。

    元件描述:检查接口是否访问成功。如果检查失败的话会提示找不到断言的内容,没提示的话就代表成功了。

  Apply to

    指断言作用范围,通常发出一个请求只触发一个请求,所以勾选“main sample only”就可以;若发一个请求可以触发多个服务器请求,就有main sample 和sub-sample之分了。

    (1)Main sample and sub-samples:作用于主请求和子请求

      (2)Main sample only:仅仅只作用于主请求

      (3)Sub-samples only:仅仅只作用于子请求

      (4)Jmeter Variable:作用于jmeter变量(输入框内输入jmeter变量名称)

    测试字段

    响应文本(匹配返回的json数据)、响应代码(匹配返回码:如200, 404,500等)、响应信息(匹配响应信息如“OK”字样)、响应头(匹配响应头)、请求头(匹配请求头)、URL样本(匹配请求的url链接,如果有重定向则包含请求url 和 重定向url)、[文档(文本)](匹配响应数据的文本形式)、忽略状态(一个请求有多个响应断言,第一个响应断言选中此项,当第一个响应断言失败时可以忽略此响应结果,继续进行下一个断言。如果下一个断言成功则还是判定事务是成功的)、请求数据(匹配请求数据)

    模式匹配规则

    包括:响应内容包含需要匹配的内容即代表响应成功,支持正则表达式。

    匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,大小写不敏感,支持正则表达式。

    字符串:响应内容包含需要匹配的内容才代表响应成功,大小写敏感,不支持正则表达式

    相等:响应内容要完全等于需要匹配的内容才代表响应成功,大小写敏感,不支持正则表达式

    否:相当于取反,如果结果为true,勾上否就是false

    或者:如果不想用AND连接(所有的模式都必须匹配,断言才算成功),用OR选项可以用于将多个断言模式进行OR连接(只要一个模式匹配,断言就是成功的)

    测试模式

    其实就是断言的数据。点击“添加”按钮,输入要断言的数据。

    7、增加监听器

    添加方法:线程组 ->右键添加 ->监听器 ->察看结果树。一般还会一并添加图形结果、聚合报告。

    元件描述:树状形式显示接口的访问结果,包括请求结果、请求内容、服务器的响应内容。

五、Jmeter接口测试必定用到的扩展阅读

  1.史上最全的最通俗易懂的-jmeter调试错误全集

  https://blog.csdn.net/pengjiangchun/article/details/105381557

  2.jmeter实现接口关联的两种方式:正则表达式提取器和json提取器看这篇就够了

  https://www.cnblogs.com/csmashang/p/12659093.html

本文转自 :https://www.cnblogs.com/csmashang/p/12762177.html

测试之-Jmeter使用的更多相关文章

  1. 老李分享:接口测试之jmeter

    老李分享:接口测试之jmeter   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.移动端自动化测试很多人把他仅仅理解成appu ...

  2. 性能测试培训:Ajax接口级性能测试之jmeter版

    性能测试培训:Ajax接口级性能测试之jmeter版   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest认为工具 ...

  3. 性能测试培训:分布式测试之jmeter

    性能测试培训:分布式测试之jmeter   在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter ...

  4. 性能测试之JMeter远程模式

    性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMe ...

  5. WEB接口测试之Jmeter接口测试自动化 (一)

    软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试. 单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在 ...

  6. WEB接口测试之Jmeter接口测试自动化 (一)(初次接触)

    软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试. 单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在 ...

  7. 接口测试之JMeter初探

    1.JMeter安装配置 )登录 http://jmeter.apache.org/download_jmeter.cgi ,下载与自己的平台相对应文件: )安装JDK(.6以上),配置环境变量JAV ...

  8. 微信小程序性能测试之jmeter踩坑秘籍(前言)

    最近要做个微信小程序的性能压测,虽然之前只做过web端的,但想一想都是压后端的接口,所以果断答应了下来,之前对jmeter都是小打小闹,所以趁着这次机会好好摆弄摆弄. ---------------- ...

  9. WEB接口测试之Jmeter接口测试自动化 (四)

    Jmeter是压力测试.接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具.将这三者结合起来可以搭建一套webservice接口测试的持续构建环境.   1. ...

  10. WEB接口测试之Jmeter接口测试自动化 (三)

    接口测试与数据驱动 1简介 数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程. 2 数据驱动与jmeter接口测试 我们已经简单介绍了 ...

随机推荐

  1. JDK15正式发布,新增功能预览!

    JDK 15 在 2020 年 9 月 15 号正式发布了,这次发布的主要功能有: JEP 339:EdDSA 数字签名算法 JEP 360:密封类(预览) JEP 371:隐藏类 JEP 372:删 ...

  2. Python爬虫实战练习:爬取美团旅游景点评论数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 今年的国庆节还有半个月就要来了,相信很多的小伙伴还是非常期待这个小长假的.国庆节是一年中的小 ...

  3. Linux实战(1):装机一键设置脚本-初级版

    #!/bin/bash #此脚本作用是装完centos后所执行的一系列设置,基本是必须设置的操作,主要分为几大功能:修改yum源,安装ifconfig,安装ping,修改selinux配置 #第一部分 ...

  4. yum管理——搭建iso镜像私有yum源仓库(1)

    在服务器上一般是没有光驱的,那么我们怎么制作iso本地repo镜像源仓库? 通过本地iso镜像,copy到linux系统中一个目录中,进行伪文件系统挂载,执行如下命令: 挂载:mount -o loo ...

  5. 文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。

    源码 https://github.com/naturefwvue/nf-vue3-ant 特点 只需要更改meta,既可以切换表单 可以统一修改样式,统一升级,以最小的代价,应对UI的升级.切换,应 ...

  6. yml文件

    博文内容来自https://blog.csdn.net/chang_li/article/details/78667652 项目里用到yml文件作为配置文件,了解下其实挺简单,它的基本语法如下 大小写 ...

  7. stp域中两台switch互联接口出现两口均为root口 并且在现有stp区域中无法确定根桥设备位置;分析其原因并赋予解决办法

    stp域中两台switch互联接口出现两口均为root口 并且在现有stp区域中无法确定根桥设备位置:分析其原因并赋予解决办法 1.于上图描述了案例中当前组网环境的各交换机位置与stp状态情况  : ...

  8. python中生成随机整数(random模块)

    1.从一个序列中随机选取一个元素返回:   random.choice(sep)    2.用于将一个列表中的元素打乱   random.shuffle(sep)    3.在sep列表中随机选取k个 ...

  9. WAF的那些事

    介绍WAF 本节主要介绍WAF (Web Application Firewall, Web应用防火墙)及与其相关的知识,这里利用国际上公认的一种说法: Web应用防火墙是通过执行系列针对HTTP/H ...

  10. UnityShader学习笔记- Stencil Buffer

    模板测试(Stencil Test)是现代渲染流水线的一环,其中涉及到的就是模板缓冲(Stencil Buffer),模板缓冲可以用来制作物体的遮罩.轮廓描边.阴影.遮挡显示等等效果 目录 Stenc ...