赞
踩
目录
Apache JMeter 是一个功能强大的开源性能测试工具,最初由斯图尔特·罗斯(Stefano Mazzocchi)于1998年创建,并由Apache软件基金会进行维护。它主要用于对软件和服务进行性能、负载、压力、功能和接口测试。
JMeter 可以用于模拟多种类型的负载,包括 web 应用程序的静态和动态资源、数据库、FTP、SOAP 和 RESTful web 服务等。它提供了丰富的图形化界面来创建测试计划,并支持多种测试场景的建模和执行。
以下是 JMeter 的一些主要特点和功能:
多协议支持:JMeter 支持多种协议,包括 HTTP、HTTPS、FTP、JDBC、LDAP、SOAP、JMS 等,使得它可以应对各种类型的应用程序和服务。
图形化测试计划:JMeter 提供了直观的图形化界面,可以通过树状结构来组织测试计划,包括线程组、控制器、取样器、断言等。
灵活的测试脚本编写:JMeter 支持使用 BeanShell、JSR223 脚本等多种方式编写测试脚本,可以实现更灵活的定制和扩展。
分布式测试:JMeter 支持将负载分发到多台机器上执行,从而模拟更真实的大规模并发用户。
丰富的测试报告:JMeter 生成详细的测试报告,包括吞吐量、响应时间、错误率等指标,还可以导出报告数据进行进一步分析。
插件支持:JMeter 支持丰富的插件生态系统,可以通过插件扩展其功能。
总的来说,JMeter 是一个功能强大、灵活多样的性能测试工具,适用于各种类型的应用程序和服务的性能测试需求。通过 JMeter,用户可以模拟真实场景下的负载情况,发现系统的性能瓶颈和问题,并为系统的优化和调优提供有力的依据。
1.Java环境配置:CLASSPATH、JAVA_HOME和PATH变量配置
2.Jmeter环境配置:JMETER_HOME和PATH变量配置
线程组:
线程组就相当于用户活动,一个线程组就相当于一个虚拟用户组,一个线程相当于一个虚拟用户。
名称:可以随意设置,可以设置比较容易识别的名称,例如:普及版等
注释:添加备注信息
在取样器错误后要执行的动作:就是在错误之后要如何执行,可选继续执行
后续的、停止执行等。一般情况选择“继续”
线程数:就是需要设置多少线程执行测试,主要模拟多人在使用
Ramp-up Period (in Seconds):用于告知JMeter 要在多长时间
建立全部的线程。
调度器:选中之后可以配置启动时间,立即或者预定的时间
HTTP请求默认值:
主要填写通用的服务器名称和端口号,以及协议,则其作用域内相同服务
器和端口号的HTTP请求,都不需要重复填写
HTTP信息头管理器
循环控制器:
可以设定其作用域下,HTTP请求的循环次数,实现压测的效果
仅一次控制器:
HTTP请求:
设置请求服务器、压力链接等信息,可以通过浏览器查看请求的域名和路
径,然后编辑HTTP请求。
1.GET请求案例:
场景:在win8环境下,进入机构管理后台à登陆
请求信息:通过Fire Fox,可以查看到进入未付款跟进过程中产生的请求信息
在Jmeter中编辑HTTP请求
2.通过POST发送请求案例:
场景:在win8环境下,进入机构后台à登陆
请求信息:通过Fire Fox,可以查看到筛选过程中产生的请求信息
在Jmeter中编辑HTTP请求:
Ps:图上post案例这个只是看看用法界面, 登陆见面发送的tekon是一个动态值(你抓包时候是1个token ,等实际用接口跑的话 那个值就变了。。是动态值)
token是 用户会话的 ID 要存进去 不然不让登录
问题1:为什么要加一个正则表达式提取器?
答:打开首页服务器分配个session 给当前浏览器用户 登陆时确保是当前用户 登录。提高安全性的。
匹配数字:1是代表取 1个 0是随机 -1 是全部(取值自己判断)
问题2:什么时候需要田添加正则表达式提取器
答:如果一个请求里面有动态参数 依赖其它请求的响应 就需要用正则表达式提取了
响应断言:
断言就是检查点。对上一个请求返回的信息,做字符串、数据包大小、
HTML、XML、图片等做判断,确保返回的信息的准确性。
案例:机构后台需要验证登陆成功后,发送HTTP请求时,是否会出现验
证未通过的状况,从而可以来筛选,哪些ID可能会有问题
查看结果树:
查看结果树主要用于功能测试,或者脚本调试和Debug时,可以比较直观
的查看到发送的请求内容是否正确、响应内容是否正确。便于进行脚本的修
改。
聚合报告:
通过聚合报告的查看,我们可以比较直观的看到与性能测试结果相关的
各项数据,便于我们来判断,哪些请求的性能会比较差。
聚合报告中,各项指标的说明:
1.Label:每个Jmeter的元素(例如HTTP请求)都有一个Name属性,这里显示
的就是Name属性值
2.#Samples:表示你这次测试中一共发出了多少请求,如果模拟10个用户,
每个用户迭代10次,那么这是显示100
3.Average:平均响应时间
4.Median:中位数,也就是50%用户的响应时间
5.90%Line:90%用户的响应时间
6.Min:最小响应时间
7.Max:最大响应时间
8.Error%:本次测试中出现错误的请求数量/请求的总数
9.Throughput:吞吐量,表示每秒完成的请求数,(number of requests) / (total time)
10.KB/sec:每秒从服务器端接收到的数据量
除了上面提到的特点和功能外,Apache JMeter 还具有以下一些重要的特性和优势:
多样化的性能测试:JMeter 可以执行多种类型的性能测试,包括负载测试、压力测试、分布式测试、功能测试、接口测试等。这使得它成为一个非常全面的性能测试工具。
用户友好的界面:JMeter 提供了直观易用的图形化界面,使得用户可以方便地创建、编辑和管理测试计划。此外,它还提供了丰富的插件和扩展,可以满足不同用户的定制需求。
灵活的脚本编写:JMeter 支持多种脚本语言,包括 BeanShell、JavaScript 等,用户可以根据自己的需求编写自定义的脚本,实现更复杂的测试场景和逻辑。
强大的断言功能:JMeter 提供了丰富的断言功能,可以对测试结果进行验证,确保被测应用程序的行为符合预期。
分布式测试能力:JMeter 支持将测试负载分布到多台机器上执行,从而模拟真实的大规模并发用户。这使得它能够应对复杂的性能测试需求,对系统进行更全面的评估。
开放源代码:作为开源项目,JMeter 拥有庞大的社区支持和活跃的开发者社区,用户可以从社区中获取丰富的资源和支持。
总的来说,Apache JMeter 是一个功能强大、灵活多样的性能测试工具,适用于各种类型的应用程序和服务的性能测试需求。通过 JMeter,用户可以有效地评估系统的性能、稳定性和可靠性,为系统的优化和调优提供有力支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。