一、学习工具
1、CinfigElement(HTTP Request Defaults、HTTP Header Manager、HTTP Authorization、CSV Data Set Config、User Defined Variables、JDBC Connection Configuration、HTTP Cookie Manager、Random Variable)
二、协议
1、HTTP协议(消息体数据(json)接口、content-type(四种)、参数(parameter)接口)
2、Webservice协议
3、JDBC协议(JDBC connection Configration、JDBC request、批量造数据)
三、第三方插件
Jm plugin manager(插件安装管理工具)
Jpgc(包含jp@gc的前缀的插件,通常需要在下载)
四、场景设计与运行监控
场景:
- Setup thread Group
- Thread Group
- TearDown Thread Group
- Ultimate Thread Group
设计:
- Parameter(HTTP传递参数统称如URL、Body Data等)
- CSV Data Config
- User Defined Variables用户定义变量
- User Parameter用户参数
- JsonExtractor(能够从JSON格式的数据中提取出所需的信息)
执行:
Cookie Manager(存储从服务器响应中接收到的cookie、在后续的HTTP请求中自动发送存储的cookie、支持自定义cookie策略,如接受所有cookie、拒绝所有cookie或仅接受来自原始服务器的cookie)
Header Manager(自定义HTTP请求的请求头、支持在多个HTTP请求之间共享请求头配置)
Http Sampler(发送GET、POST等HTTP请求、支持URL参数、请求体数据、文件上传等、可以配置请求的超时时间、重定向策略等)
Debug Sampler(输出JMeter属性、变量和系统属性的值,帮助开发者在测试过程中诊断问题)
监控:
View Result Tree
Summary Report
Graph Result
Active Threads Over Time(用于显示测试执行期间并发线程的数量随时间的变化情况。这个图表有助于评估系统在不同负载下的性能表现)
Response Times Over Time (用于显示测试执行期间响应时间的变化情况。这有助于了解系统在不同负载下的响应时间表现。)
Transaction Per Second (是软件测试结果的测量单位,表示一个客户机向服务器发送请求并收到响应的过程。)
Server Agent (监控服务器资源利用率的代理,如指标CPU、内存、磁盘等)
PerfMetrics Collector (监控服务器资源利用率的插件,如指标CPU、内存、磁盘等)
nmon (第三方监控分析工具免费、监控各种指标CPU、内存、磁盘、特点消耗资源少、图形图可分析)
五、分布式环境测试(master-slaves、CLI-mode)
1)原因与需求:
当被测接口需要很高的并发量,单机运行的JMeter很容易因为资源限制(如内存、CPU、网络IO)而出现性能瓶颈,导致测试结果不准确或测试无法顺利进行。此时,需要进行分布式测试解决)
2)原理:
JMeter分布式测试环境搭建时,通常选择一台机器作为调度机(master),其他机器作为执行机(slave)。master负责编辑并分发测试脚本(jmx文件),slave负责执行测试脚本并将结果回传给master,master汇总所有slave的结果并生成最终的测试报告。
3)分布式测试的实现步骤
环境准备:确保所有机器上都安装了相同版本的JMeter和JDK,并配置好环境变量。
配置master:在master机器的jmeter.properties文件中配置远程执行机的IP地址和端口号。
配置slave:在slave机器上启动jmeter-server服务,并确保slave机器可以被master访问。
编写测试脚本:在master机器上编写测试脚本,设置好需要的线程数等参数。
分发与执行:通过master机器的JMeter GUI界面启动测试,master会将测试脚本分发到所有配置的slave机器上执行。
结果汇总:slave机器执行完毕后将结果回传给master,master汇总所有结果并生成测试报告。
六、Jenkins环境测试(ant、build文件修改、CI/CD配置)
- 原因与需求:
通过Jenkins搭建JMeter测试环境,可以实现测试的自动化、持续集成和持续部署,提高测试效率和软件质量。
- 原理:
Jenkins是一个开源的自动化服务器,它允许你自动化各种任务,如构建、测试和部署软件。
3)分布式测试的实现步骤
安装Jenkins:在服务器上安装Jenkins,并启动Jenkins服务。
安装JMeter插件:在Jenkins中安装JMeter插件,以便能够执行JMeter测试脚本。
配置Jenkins任务:在Jenkins中创建一个新的任务,配置任务以执行JMeter测试。这包括设置测试脚本的路径、测试报告的保存路径等。
配置构建触发器:根据需要配置构建触发器,如定时触发、代码提交触发等,以实现测试的自动化。
执行测试:保存配置后,手动触发或等待触发器自动触发任务执行测试。Jenkins将自动下载JMeter并执行指定的测试脚本。
查看结果:测试执行完毕后,Jenkins会生成详细的测试报告,包括性能指标、图表和趋势分析等,方便开发人员和测试人员进行性能分析和优化。
七、未完成
1、逻辑控制器插件:(事务控制器、仅一次控制器、条件控制器、循环控制器)
Beanshell插件(BeanShell PreProcessor(是一个前置处理器,它在采样器(如HTTP请求)执行之前运行自定义的BeanShell脚本。它允许用户在进行请求之前对数据进行预处理或准备测试数据。)、BeanShell PostProcessor(是一个后置处理器,它在采样器执行之后运行自定义的BeanShell脚本。它允许用户对采样器的响应数据进行处理或进一步分析。)、BeanShell Timer(是一个定时器组件,它允许用户通过编写BeanShell脚本来自定义采样器的等待时间。))
2、跨线程组传参
3、MD5解密