干嘛生气,多傻呀!(写的真好)

JMeter是Java技术栈工具,在软件测试领域应用非常广泛,无论是性能测试还是接口测试,技术都很成熟和稳定。它有一个突出特点:开源,适合做二次开发,以阿里为代表的Java技术栈公司都对它青睐有加。在JMeter之前,我最早接触的工具是LoadRunner,毕业后还买过一本《精通软件性能测试与LoadRunner最佳实战》的书,但是它的时代已经过去:

截图为测试开发社区TesterHome讨论帖。

这是JMeter的时代,JMeter系列文章将根据《全栈性能测试修炼宝典JMeter实战》这本书来编写。本文介绍JMeter的组成结构,阅读后对JMeter形成整体认知和初步印象。为了便于后续讲解,先明确下2个术语:

  • 元件:如HTTP请求、事务控制器、响应断言,就是一个元件。

  • 组件:如逻辑控制器,就是组件。组件中包含一个或多个元件。

大的叫组件,小的叫元件,也没那么严谨,你想叫控件都行!先以组件的维度,看一下JMeter结构图:

X、Y、Z形成了一个三维立体空间。

X1~X5表示的是:5个模拟过程。

Y1表示的是:用户请求。

Y2表示的是:结果验证。

Z表示的是:结果收集。

X1【取样器】

通过访问 测试计划|线程组|取样器 添加Sampler

可以把它看做是一个没有界面的浏览器,可以发送请求,接收响应。支持HTTP请求、WebService请求(SOAP/XML-RPC)、Java请求等。涵盖了协议包括HTTP、FTP、JAVA、LDAP、MAIL、MongoDB、SMTP、SOAP、TCP、Junit等。还能写BeanShell脚本,一种类似Java的脚本开发语言。

X1【断言】

通过 测试计划|断言 添加Assertions。线程组也能添加断言。

一般用响应断言(Response Assertion)比较多。可以写BeanShell实现自定义复杂断言。

X1【监听器】

通过 测试计划|监听器 添加Listener。线程组也可以添加监听器。

可以用于展示结果。如察看结果树(View Results True),查看每次请求和响应。聚合报告(Aggregate Report),类似测试报告。

另外,也可以把测试结果数据保存到文件,供再次分析使用。

X2【前置处理器】

通过 测试计划|前置处理器 添加Pre Processors。线程组也可以添加前置处理器。

在发送请求前,需要做一些环境或数据准备,就需要用前置处理器。比如对数据库操作前,需要先建立数据库连接。

X2【配置元件】

可以通过 测试计划|配置元件 添加Config Element。线程组也可以添加配置元件。

它的作用是,为取样器提供配置数据。比如使用CSV Data Set Config,从文件中读取测试数据。比如使用函数(函数助手)生成动态数据。比如使用HTTP Cookie Manager,自动记录服务器返回的Cookie信息。比如使用User Defined Variables,预置一些初始化变量。

X2【后置处理器】

可以通过 测试计划|后置处理器 添加Post Processors。线程组也可以添加后置处理器。

它的作用是处理响应数据。比如正则表达式提取器(Regular Expression Extractor),使用正则表达式来匹配响应结果,提取部分数据。

X3【逻辑控制器】

可以通过 测试计划|线程组|逻辑控制器 添加Logic Controller

它用来对处理逻辑进行控制。比如只登陆一次,可以用 Once Only Controller 来实现。

X4【定时器】

可以通过 测试计划|线程组|定时器 添加Timer

它用来设定等待时间。比如等待5秒后再发送请求。比如让多个请求等待到同一时刻发送。

不同定时器有不同功能。

X5【线程组】

可以通过 测试计划|线程组 添加Threads(Users)

Threads(Users),既是Thread,也是User。JMeter一个线程模拟一个用户。

Test Fragment

可以通过 测试计划|Test Fragment 添加。线程组也可以添加。

可用于临时备份元件,Test Fragment下的元件不会被运行。封装后可被模块控制器调用,就像编程一样。

小结

本文从JMeter结构图展开讲解,通过组件截图描绘出了JMeter体系结构。取样器、断言、监听器组合在一起就可以完成发送请求、验证结果和记录结果。前置处理器、配置元件、后置处理器都是为取样器提供数据支持的。逻辑控制器可以实现各种需求。定时器可以设置集合点和等待时间等。JMeter是用线程组来模拟的,一个线程就是一个用户。Test Fragment可以用来备份元件,底下的元件不会被运行。

参考资料:

《全栈性能测试修炼宝典JMeter实战》

https://testerhome.com/topics/8599

(0)

相关推荐

  • Jmeter和Postman做接口测试的区别,孰优孰劣?

    区别1:用例组织方式 不同的目录结构与组织方式代表不同工具的测试思想,学习一个测试工具应该首先了解其组织方式. Jmeter的组织方式相对比较扁平,它首先没有WorkSpace(工作空间)的概念,直接 ...

  • Jemeter常见问题整理

    Jemeter常见问题整理

  • 性能测试总结

    一.概念了解 1. 性能测试的维度和类型 编号 类型 概念 标准 举例 1 基准测试 给系统施加较低压力,查看系统运行状况并记录相关数据作为基础参考 10%~20% 软件最多只给100个人使用,先用1 ...

  • jmeter压测学习24-监听器之活动的线程数(Active Threads Over Time)

    前言 jmeter压测的时候,在执行测试的过程中每个线程组有多少个活跃的线程数,可以通过监听器Active Threads Over Time查看 线程数与Ramp-Up时间 线程数就是我们设置是虚拟 ...

  • 生气真傻 (写的真好)

    ................................................................... 头顶天,脚踏地,人生全在一口气: 切记气上有三记:怄气赌气发脾 ...

  • 不管你多难,看完,就不会生气了!(写得真好)

    当你生气不开心的时候,不妨问一问自己,还有多少日子足够我们挥霍?还有多少时间能留给我们浪费? 悲伤哭泣的一天会过去,开心微笑的一天也会过去,既然日子不受人的影响,我们何不选择开心地过呢?当你弄明白了, ...

  • 干嘛生气,多傻呀

    人活在世上,总会遇到一些不如意的事,总会有不喜欢我们的人.如果做不到宽容大气,学不会心平气和,那就只会给自己徒增烦恼. 生活中,你是不是总有一些生气的时候?也许因为某些不公平的待遇,也许是因为别人的误 ...

  • 干嘛生气,多傻呀!

    "国学智慧,美好生活",这里是[国学生活]弘扬中华传统文化!各位听众朋友们,大家好,欢迎收听国学生活,接下来,让我们一起开始今天的美好之旅. 人活在世上,总会遇到一些不如意的事,总 ...

  • 干嘛要生气 多傻呀!

    干嘛要生气 多傻呀!

  • 干嘛生气,多傻呀!(精辟)

    修一颗静心, 才能冷眼旁观看待问题. 敛一些脾气, 才能从容不迫和人往来. 生气,气啥? 替别人惩罚自己? 为别人错误买单? 等别人来看笑话? 让别人气坏身体? 生气, 是一种负面情绪,影响心情, 让 ...

  • 干嘛生气,多傻呀!【晚课】第674期

    点上方绿标收听[晚课]主讲:云谷禅师 作者:云谷禅师  来源:日行一善共修平台 日行一善,一年行三百善,积善成德,改变命运.各位善友同修:大家早上好!这里是日行一善共修平台,接下来,让我们一起开始今天 ...

  • 干嘛生气,多傻呀(好文)

     ...

  • 干嘛生气,多傻呀!【早课】第601期

    作者:云谷禅师 来源:日行一善共修平台(ID:RXYSGXPT) 人有七情六欲,物有百转轮回.心宽,才能容得下乾坤万物,喜乐哀愁. 1 少生气,修一颗静心 佛曰:我自无心于万物,何妨万物常围绕. 有位 ...