博客
关于我
Jmeter-逻辑控制器的使用
阅读量:503 次
发布时间:2019-03-07

本文共 1250 字,大约阅读时间需要 4 分钟。

在进行接口压力测试的过程中,登录问题往往成为最需要处理的挑战。特别是当我们需要对特定的接口进行压力测试时,如何控制这些登录模块仅在必要时运行,每次测试仅运行一次,这都是JMeter逻辑控制器的重要职责。

JMeter的逻辑控制器是设计用于管理和控制压力测试脚本的核心功能。这些控制器为我们提供了灵活的方式去定义和控制接口请求的执行流程。常用的两个控制器是Once Only Controller和Loop Controller。

Once Only Controller是仅运行一次的控制器,它默认情况下仅执行一次接口请求。这个控制器通常用于处理需要在压力测试开始前被执行一次的模块,如登录相关的接口请求。在实际应用中,菜单配置通常包括将Once Only Controller与登录模块的请求关联起来,这样可以确保在每次测试开始前,系统都会自动登录以获取必要的权限。

在脚本的结构设计上,Once Only Controller通常位于信息头管理器之后,作为线程组中的一部分。它会根据需求配置所需的请求方式、URL以及其他必要的参数。

Loop Controller则完全相反,它允许接口请求循环运行多次。这对于需要持续重复执行特定接口请求的场景非常有用,比如为了验证系统的稳定性和响应能力。通过设置循环次数,我们可以让压力测试脚本在指定次数内重复执行相应的接口请求。在实际应用中,重复次数可以根据具体需求来设置。

在菜单配置中,Loop Controller的使用通常涉及更多的参数配置,比如循环次数、迭代次数以及每次循环之间的间隔时间等。这样可以根据具体的测试需求进行精细化控制。在脚本结构上,Loop Controller同样作为线程组的一部分,通常在线程中的其他控制器和请求模块之后配置。

在实际的线程组设计中,线程组的信息头管理器负责管理请求的全局参数,如身份认证信息。在使用循环控制器时,通常会在循环内配置压测接口的请求模块,如单次登录请求和重复请求等。

Loop Controller在压力测试中的应用通常包括设置循环次数、迭代次数以及每次循环之间的固定时间延迟。这些配置会根据具体的测试需求进行调整。在实际使用中,可以通过测试 JAeger 的界面进行快速配置。

在运行结果分析中,循环控制器设置循环次数为100次,其中每次循环请求压测接口一次。在实际运行中,可以根据需要调整循环次数和并发用户数。通过测试工具的性能监控功能,可以实时观察压力测试的执行结果。

总的来说,理解和正确使用JMeter的逻辑控制器是设计和执行有效接口压力测试的关键。在实际项目中,可以根据具体需求合理配置Once Only Controller和Loop Controller,使脚本更好地满足测试需求。

通过合理的线程组设计和控制器配置,我们可以构建出既能够验证系统稳定性又能进行负载测试的完善压力测试脚本。线下环境中的测试工作也是必不可少的,通过实际运行结果的验证,可以进一步优化测试脚本和配置参数。

转载地址:http://pfnjz.baihongyu.com/

你可能感兴趣的文章
NS图绘制工具推荐
查看>>
NT AUTHORITY\NETWORK SERVICE 权限问题
查看>>
NT symbols are incorrect, please fix symbols
查看>>
ntelliJ IDEA 报错:找不到包或者找不到符号
查看>>
NTFS文件权限管理实战
查看>>
ntko web firefox跨浏览器插件_深度比较:2019年6个最好的跨浏览器测试工具
查看>>
ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
查看>>
ntp server 用法小结
查看>>
ntpdate 通过外网同步时间
查看>>
NTPD使用/etc/ntp.conf配置时钟同步详解
查看>>
NTP及Chrony时间同步服务设置
查看>>
NTP配置
查看>>
NUC1077 Humble Numbers【数学计算+打表】
查看>>
NuGet Gallery 开源项目快速入门指南
查看>>
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>
Nuget~管理自己的包包
查看>>
NuGet学习笔记001---了解使用NuGet给net快速获取引用
查看>>
nullnullHuge Pages
查看>>
NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
查看>>