jmeter性能测试
文章平均质量分 71
jmeter性能测试
曹红杏
一个喜欢学习的人
展开
-
Badboy录制jmeter性能测试脚本
badboy录制脚本原创 2022-10-22 19:14:29 · 1858 阅读 · 0 评论 -
Jmeter性能测试脚本增强——事物控制器、集合点、参数化
下面我们以P2P金融平台为例,说明事物控制器、集合点、参数化的脚本增强方法1.录制P2P金融平台的登录功能录制过程参考博文4.2 录制第一个jmeter性能测试脚本(http协议)前段登录地址为:http://user-p2p-test.itheima.net/common/member/login传智播客录制脚本结果如下:此时执行脚本,你看到的响应结果是每个小的请求的时间,而不是整个登录的时间2.增加事物控制器简单控制器的作用相当于文件夹,只是一个组织的作...原创 2022-05-16 18:32:03 · 1792 阅读 · 6 评论 -
4.2 录制第一个jmeter性能测试脚本(http协议)
上一节课,我们手工编写了一个测试计划,现在我们通过录制的方式来实现那个测试计划。也就是说‘’测试计划目标和上一节类似:让4个用户在5s内先后打开automationpractice官网,然后进入 DRESSES -> SUMMER DRESSES(http://automationpractice.com/index.php?id_category=8&controller=category)页面进行查看。步骤前面几步与手工测试的几乎一样: 1.创建测试计划创建测试计划...原创 2022-05-16 16:18:45 · 5916 阅读 · 0 评论 -
jmeter 接口测试快速入门
jmeter是一款小巧,轻便、开源的性能测试工具,它也可以很方便的进行接口测试。下面我就带大家学习下jmeter接口测试。所有的测试文档原创 2021-12-14 15:14:18 · 15107 阅读 · 5 评论 -
10 测试脚本结果分析
结果分析性能测试最终目的:评估系统性能发现性能问题瓶颈点:系统程序中间件数据库操作系统网络以及硬件等通过前面的测试,可知登陆性能满足要求。若老板问你系统最大支持用户数,怎么办?不断增大线程用户数、减少ramp-up period,找到满足所有性能指标的系统的最大负载能力欢迎关注我的网易云课程https://study.163.com/courses-sear...原创 2018-10-15 10:32:24 · 458 阅读 · 0 评论 -
9 脚本执行
GUI模式执行 ——适合创建、编辑和调试脚本非GUI模式执行——适合正式测试为什么要用非GUI模式进行正式测试?1.资源:GUI模式会消耗内存和cpu来不断更新界面2.持续集成:任何工具都支持命令行模式执行前注意事项:a 核对CPU、内存和网络b.操作系统的优化c.java设置:确保你安装java支持的JMeter的最新版本d.增加java堆大小。默认情况下,jmeter运...原创 2018-10-15 10:23:02 · 544 阅读 · 0 评论 -
8.7 脚本增强 增加集合点 实现并发
7.7.增加集合点集合点是什么呢?它会让各个线程到达集合点后等待,等集齐指定的线程数后,再同时释放以便产生并发。以达到模拟真实环境下多个用户同时进行某一操作,实现性能测试的最终目的。在Jmeter中是使用Synchronizing Timer 集合时间元件实现集合点。欢迎关注我的网易云课程https://study.163.com/courses-search?keyword=软件测试1...原创 2018-10-15 10:10:22 · 353 阅读 · 0 评论 -
8.6 脚本增强 增加事务
增加事务当我们关心的不是一个请求的性能情况,而是一组请求的性能情况时,我们就可以使用事务控制器,例如,我们测试打开一个页面的性能时,我么不仅关心主页面的返回,也关心页面渲染所需要的数据(例如:css、js、图片等)的返回。尤其时当页面的图片、文件多,或者比较大时,它们会消耗较多的系统、网络资源,更是不可忽视这些资源的请求时间,必须要考虑这些资源的性能消耗。如何将这些请求响应时间累加起来呢?Jm...原创 2018-10-15 08:59:32 · 400 阅读 · 0 评论 -
8.5 脚本增强 增加关联
在性能测试脚本中,常常出现上一个请求的返回结果中包含了下一个请求需要发送的参数,这就是关联。关联实质是请求与请求之间存在数据依赖关系。实现关联的一般步骤是:1) 从上一个请求提取关心的数据保存到变量,2) 在下一个请求引用该变量 ${变量名}。提取方法很多,最常使用:正则表达式提起器、XPath提取器、Css/Jquary提取器、Json提取器及BeanShell等具有提取功能的后置处...原创 2018-10-15 08:56:32 · 393 阅读 · 0 评论 -
8.4 脚本增强 实现参数化
实现参数化我们录制的脚本,内容都是固定的,比如用户名、口令都是我们再录制过程中输入的,如果我们希望模拟不同用户登陆,那么我们并不需要录制很多个脚本,而只要将脚本中的用户名、密码变成变量,而线程执行时,不同线程取得不同的变量值即可。下面我们就举例说明如何参数化登陆账号。欢迎关注我的网易云课程https://study.163.com/courses-search?keyword=软件测...原创 2018-10-15 08:40:18 · 294 阅读 · 0 评论 -
8.3 脚本增强 增加断言
断言是在取样器执行完成后进行的一些额外检查。在它的作用域范围内的每个取样器执行后执行。如果希望断言只应用于特定的取样器,则应当将该断言作为取样器的子节点来添加。常用断言:响应断言、beantashell断言、xpath断言。断言的详细使用方法请查看 第五章 测试元件下 断言小节 的内容。在本节我们会为禅道测试计划的登陆添加响应断言,验证登陆成功。我们还为我的地盘页面添加2个断言,验证...原创 2018-10-15 08:24:38 · 470 阅读 · 0 评论 -
8.2 脚本增强 增加定时器
7.2.查看结果树:定时器用户在实际操作时,并不是连续点击,而是在操作中伴随着一些停顿。例如:用户需要时间阅读文字内容;需要输入信息、填写表格;查找正确的链接等。这种停顿就是性能测试中的思考时间,它是性能测试中需要考虑的一个重要要素。我们在测试计划中需要为请求之间设置合适的停顿时间。如果不认真考虑思考时间,可能会导致测试结果的失真。例如,得到的被测系统可以支持的最大用户量结果偏小。...原创 2018-10-15 08:18:00 · 275 阅读 · 0 评论 -
8.1 脚本增强 增加监听器
录制好脚本,去除不必要的取样器之后,我们可以增加监听器,辅助我们调试、监听、查看、保存测试结果。常用监听器:察看结果树、聚合报告、TPS、PerfMon Metrics Collector等有的监听器消耗资源较多,正式测试时应禁用不必要的。非GUI模式,先将必要结果保存到CSV文件。执行后再通过文件查看结果。监听器的详细使用介绍请查看前面 第五章 测试元件-监听器章节 的内容。监听器...原创 2018-10-15 08:15:48 · 288 阅读 · 0 评论 -
8 Jmeter脚本的增强
Jmeter脚本的增强测试计划录制完成后,我们会整理和增强脚本:包括增加监听器、定时器、集合点、增加断言、参数化、增加关联、增加事务增加监听器——可以帮助我们查看请求响应情况以及性能指标情况增加定时器——可以更好的模拟用户实际情况,测试结果更可靠增加断言-——可以让我们对一些重要数据进行校验,比如如果订单提交成功,系统响应结果中会有successs,那么我们就可以为取样器添加响应断言,确...原创 2018-10-14 10:16:21 · 517 阅读 · 0 评论 -
7 Jmeter脚本的录制
我们知道,如果我们的测试脚本能够向用户那样向服务器发送请求,那么我们的脚本就能进行性能测试。那么如何能快速获得用户向服务器发送的请求呢?难道是抓包吗?这个就不需要了,jmeter自身就提供的非常棒的录制功能,只要我们将浏览器代理指向jmeter的代理服务器,那么浏览器向服务器发送的所有请求就都被jmeter录制下来了,后面我们只要再次基础上修改增强脚本,就可以执行性能测试了。录制https...原创 2018-10-14 10:12:10 · 323 阅读 · 0 评论 -
6.6 jmeter基础—系统日志
系统日志jmeter日志对我们调试脚本也有帮助。通过菜单,我们可以设置是否显示日志,以及日志的级别。当我们脚本遇到问题时,可以将级别设置为debug,察看详细信息,以便分析、解决问题。除了,系统自动生成的日志,我们的测试脚本中还可以向日志中输出信息。如下所示,在beanshell脚本中,通过log.info向日志中输出信息,这些信息也可以帮助我们调试程序。欢迎关注我的网易云课程ht...原创 2018-10-14 10:06:59 · 338 阅读 · 0 评论 -
6.5 jmeter基础知识--jmeter属性
Jmeter的属性文件有:jmeter.propertiessystem.propertiesuser.properties它们都在jmeter的测试目录下,其中jmeter,properties是非常重要的属性文件,定义了很多重要的属性值,脚本中可以引用或者修改属性值,我们这里说的属性就是jmeter,properties定义的属性,Jmeter变量只能在脚本内使用,而属性是全局的...原创 2018-10-14 10:04:41 · 1190 阅读 · 0 评论 -
6.4 jmeter基础知识--变量
变量JMeter变量是局部变量,只能在脚本中使用。后面我们介绍的属性则在脚本内和脚本外都能使用。变量是线程级。在不同试线程中,值可能相同,也可能不同。若某线程更新了变量,那么仅仅是更新了该线程中的变量值。JMeter变量引用方法:${变量名}注意:变量名是大小写敏感的。Jmeter有四种方式定义变量:用户定义变量用户参数脚本(如beanshell)或提取器等定义的变量。...原创 2018-10-14 10:00:42 · 411 阅读 · 0 评论 -
6.3 jmeter基础—函数
Jmeter内置了一些函数,了解这些函数对我们编写测试计划很有帮助。系统提供了函数助手可以帮助我们调用函数,例如:产生随机数读取属性设置属性获取时间欢迎关注我的网易云课程https://study.163.com/courses-search?keyword=软件测试123#/?ot=5...原创 2018-10-14 09:43:22 · 240 阅读 · 0 评论 -
6.2 jmeter基础—元件执行顺序
4.3.元素的执行顺序1 配置元件 Configuration elements2 前置处理器Pre-Processors3 定时器Timers4 取样器Sampler5 后置处理器Post-Processors (unless SampleResult is null)6 断言Assertions (unless SampleResult is null)7监听器Listeners...原创 2018-10-14 09:29:40 · 4230 阅读 · 1 评论 -
6.1 jmeter基础-元件的作用域
JMeter测试树上的元素是有层次和顺序的。测试树上的一些元素有严格的层级(监听器、配置元素、后置处理器、前置处理器、断言和定时器),而有些k则是根据顺序(控制器、取样器)。当你创建测试计划,你将创建一组请求来表示要执行的步骤。这些请求通常是组织在有序的控制器中。如下所示的测试树。请求的执行顺序是 One、Two、Three、Four一些控制器影响他们子元素的顺序。你可以看一下这些控制器的...原创 2018-10-14 09:21:02 · 242 阅读 · 0 评论 -
5.13.1.2 jmeter组件-非测试元件—HTTP代理服务器的使用
.HTTP代理服务器录制方法1.添加线程组。打开JMeter,左边树上有一个空的测试计划,添加用户定义变量等(以便变量替换)。点击该计划的右键菜单添加->线程组添加一个线程组。 2.添加Http代理服务器。点击计划的右键菜单添加->非测试元件->http代理服务器。在http代理服务器的控制面板上将“目标控制器”设置为刚才建立的线程组,点击“启动”,启动该代理服务器(端口号默...原创 2018-10-14 09:07:05 · 1040 阅读 · 0 评论 -
5.13.1.1 jmeter组件-非测试元件—HTTP代理服务器的功能与配置
HTTP代理服务器,有的地方也翻译为测试脚本录制器(HTTP(S) Test Script Recorder)。通过它,我们可以完成jmeter脚本录制。当你使用浏览器访问web应用程序时,HTTP(S)测试脚本记录器允许JMeter拦截并记录您的操作,将创建测试样例对象保存到测试计划中(您在操作时,也可以查看录制的测试计划)。要录制脚本,需要在测试计划上点击右键菜单(添加→ 非测试元件 →...原创 2018-10-13 12:52:11 · 18149 阅读 · 0 评论 -
5.13 jmeter组件-非测试元件
非测试元件不属于测试计划的执行部分。欢迎关注我的网易云课程https://study.163.com/courses-search?keyword=软件测试123#/?ot=5原创 2018-10-13 12:28:25 · 1638 阅读 · 0 评论 -
5.11.7 jmeter组件-监听器—每秒事务数Transactions per Second
每秒事务数Transactions per Second该元件显示每个取样器每秒的事务数。它计算每秒钟完成的事务数。普通视图欢迎关注我的网易云课程https://study.163.com/courses-search?keyword=软件测试123#/?ot=5...原创 2018-10-13 12:20:30 · 9223 阅读 · 0 评论 -
5.11.6 jmeter组件-监听器—服务器性能监控PerfMon Metrics Collector
服务器性能监控PerfMon Metrics Collector在性能测试时,了解加载的服务器的健康状况是很重要的。使用.jp@gc - PerfMon Metrics Collector,你可以监视几乎所有的平台的CPU,内存,交换,磁盘I/O和网络I/O!如上为插件的界面。它显示了负载测试中涉及的服务器(本机)的CPU、内存使用情况:当然你可以同时监控多台服务器的性能(被监控计算机上需要...原创 2018-10-13 12:15:30 · 3064 阅读 · 1 评论 -
5.11.5 jmeter组件-监听器-保存响应到文件
保存响应到文件该元件可以将响应结果保存到文件。该元件可以放置在测试计划中的任何位置。为其范围内的每个样本创建一个响应数据的文件。它主要用于功能测试,但是当响应太大而不能在视图结果树中显示时,它也很有用。文件名是从指定的前缀创建的,加上一个数字(除非这是禁用的,见下文)。文件扩展名是由文档类型创建的,但如果文件类型未知,则将文件扩展名设置为“unknow”。如果禁用了编号,并且禁用后缀,则...原创 2018-10-13 10:49:00 · 3618 阅读 · 0 评论 -
5.11.4 jmeter组件-监听器—断言结果
断言结果断言结果,显示执行断言的结果信息。根据断言设置的条件,执行显示结果。如下图,设置的HTML Assertion中设置 警告阈值在3,执行测试程时警告值是7,在断言中会显示对样断言检查的HTTP请求有错误,并给出错误的原因,帮助修改调整执行测试。...原创 2018-10-13 10:27:36 · 525 阅读 · 0 评论 -
5.11.3 jmeter组件-监听器—聚合报告
聚合报告聚合报表为测试中的每个不同名称的请求创建表行。对于每个请求,它汇总响应信息,并提供请求数、min、max、平均值、错误率、近似吞吐量(请求/秒)和每秒千字节吞吐量。一旦测试完成,吞吐量就是整个测试期间的实际吞吐量。从取样器目标(例如,在HTTP样本的情况下的远程服务器)的角度计算吞吐量。JMeter考虑了请求生成的总时间。如果其他取样器和定时器位于同一线程中,则它们将增加总时间,从而...原创 2018-10-13 10:24:22 · 1024 阅读 · 0 评论 -
5.11.2 .jmeter组件-监听器—用表格察看结果
用表格察看结果此可视化程序为每个取样结果创建一行。像察看结果树一样,这个可视化器使用了大量的内存。默认情况下,它只显示主(父)样本;它不显示子样本(子样本)。JMeter有一个"Child Samples?"复选框。如果选择了该子样本,则显示子样本而不是主样本。欢迎关注我的网易云课程https://study.163.com/courses-search?keyword=软件测试123#...原创 2018-10-13 10:21:35 · 1683 阅读 · 0 评论 -
5.11.1 .jmeter组件-监听器—查看结果树
察看结果树以树的形式显示了所有取样器的响应,您可以查看任何取样器的响应。性能测试时,不能使用察看结果树,因为它会消耗大量资源。性能测试时,不能使用察看结果树,因为它会消耗大量资源(内存和CPU)。它只能在功能测试或测试计划调试和验证时使用。察看结果树显示了所有样本响应树,您可以查看任何样本的响应。除了显示响应之外,您还可以看到返回此响应的时间以及响应代码。请注意,“请求”页签只显示由J...原创 2018-10-13 10:16:42 · 4572 阅读 · 0 评论 -
5.11 .jmeter组件-监听器
监听器可以监听、查看、保存测试结果、监听器可以显示JMeter收集到的结果信息。本部分介绍监听器类型:察看结果树用表格察看结果聚合报告断言结果保存响应到文件jp@gc - Transactions per Secondjp@gc - PerfMon Metrics Collector欢迎关注我的网易云课程https://study.163.com/courses-searc...原创 2018-10-13 09:44:28 · 769 阅读 · 0 评论 -
5.10.3 .jmeter组件-断言—Beanshell断言
Beanshell是一种轻量级JAVA脚本语言。Beanshell断言允许用户使用BeanShell脚本进行断言检查。Name:名称Reset bsh.Interpreter before each call:如果选择此选项,则将为每个取样器重新创建解释器。对于一些长时间运行的脚本来说,这可能是必要的。有关进一步的信息,请参见最佳实践- BeanShell脚本。Parameters to...原创 2018-10-12 13:29:56 · 432 阅读 · 0 评论 -
5.10.2 .jmeter组件-断言—XPath断言
Xpath断言XPath是W3C的一个标准。XPath是一种表达式语言,它使用路径表达式来选取 XML 文档中的节点或节点集。XPath断言和XPath提取器配置和使用方法类似,只是XPath提取器是从文档中是提取符合路径表达式条件的节点信息。而XPath断言是判断文档中存在符合路径表达式条件的节点。Apply to:Main sample and sub-samples – 可以同时应...原创 2018-10-12 13:26:29 · 2093 阅读 · 1 评论 -
5.10.1 .jmeter组件-断言—响应断言
响应断言可以将请求或响应的各个字段与模式字符串进行比较。原创 2018-10-12 13:15:52 · 7382 阅读 · 0 评论 -
5.10 .jmeter组件-断言
断言用于对取样器的响应结果进行检查。它在取样器完成后执行。和后置处理器类似,无论断言位置如何,它都是在取样器之后执行。若它在一个取样器下,则只作用于该取样器,只在该取样器执行后执行;若它在一个逻辑控制器下,则作用于控制器下的所有取样器,即所有取样器执行后都要执行该断言。欢迎关注我的网易云课程https://study.163.com/courses-search?keyword=软件...原创 2018-10-12 13:14:33 · 373 阅读 · 0 评论 -
5.9.7 jmeter组件-定时器—Synchronizing Timer 集合时间(集合点)
固定吞吐量定时器可以让JMeter以指定数字的吞吐量(即指定TPS,只是这里要求指定每分钟的执行数,而不是每秒)执行。吞吐量计算的范围可以为指定为当前线程、当前线程组、所有线程组等范围,并且计算吞吐量的依据可以是最近一次线程的执行时延。这种定时器在特定的场景下,还是很有用的。欢迎关注我的网易云课程https://study.163.com/courses-search?keyword=软...原创 2018-10-12 12:53:05 · 613 阅读 · 0 评论 -
5.9.6 .jmeter组件-定时器—泊松随机定时器
泊松随机定时器这个定时器在每个线程请求之前按随机的时间停顿,总的延迟就是泊松分布值和偏移值之和。上面表示暂停时间会分布在100到400毫秒之间:(1)Lambda(in milliseconds):兰布达值(2)Constant Delay Offset(in milliseconds):暂停的毫秒数减去随机延迟的毫秒数欢迎关注我的网易云课程https://study.163.com...原创 2018-10-12 12:48:58 · 1342 阅读 · 0 评论 -
5.9.5 .jmeter组件-定时器— 固定吞吐量定时器
.Constant Throughput Timer 固定吞吐量定时器这个定时器引入了变量暂停,通过计算使总吞吐量(以每分钟去杨树计)尽可能接近给定的数字。当然,如果服务器不能处理它,或者如果其他定时器或耗时的测试原件阻止它,那么吞吐量将更低。虽然计时器被称为常数吞吐量定时器,但吞吐量值并不一定是常数。它可以根据变量或函数调用定义,并且可以在测试期间改变该值。通过以下多种方式都可以改变:使...原创 2018-10-12 12:46:36 · 6839 阅读 · 1 评论 -
5.9.4 .jmeter组件-定时器—集合点
Synchronizing Timer 集合时间(集合点)它的作用是:让各个线程到达集合点后等待,等集齐指定的线程数后,再同时释放以便产生并发。若在指定的超时时间内为等齐,那么不在等待,释放等待中的线程,这种方法可以瞬间产生较大的压力。名称:同步定时器名称(集合点)注释:添加可读的注释信息。方便后期维护。GroupingNumber of Simulated Users to Grou......原创 2018-10-12 12:43:16 · 4092 阅读 · 2 评论