Photo on Hashedin by Sripathi Krishnan
前言
上週简单的介绍了如何快速的使用 JMeter
简单分成三个部分,分别是:安装、使用与报告
如果还没看过的大哥大姐们 小弟非常建议来看看
鼠年全马铁人挑战 WEEK 29:负载性能测试 - JMeter (上)
而这週小弟想要延续上週的内容
藉由上週的 JMeter 来更深入的介绍 JMeter 的各种功能
分享重点
JMeter - OptionsJMeter - Tools (import from cURL)setUp Thread GrouptearDown Thread GroupPreProcessorToggleJMeter - Options
JMeter 的 Options 标籤中有许多的设定选项
每一个的设定选项都可以让使用上更为顺畅
小弟觉得最有感的设定有三个,分别是:

(并非完全翻译 建议还是学点英文XD)
JMeter - Tools
JMeter 的 Tools 标籤中有一个功能小弟不得不介绍
那就是 import from cURL (实在是太方便 太好用拉)
import from cURL 的方式有两种
额外补充:
如果不确定 cURL 是否正确的话
可以先使用 Insomnia 设定
完成后再透过 Insomnia 功能来产生 cURL
如果还不知道怎么使用 Insomnia 的大哥大姐们
欢迎点击下方连结 进来看看
鼠年全马铁人挑战 WEEK 11:API 测试工具 - Insomnia
新增 setUp Thread Group
setUp Thread Group 的使用方式与 Thread Group 几乎相同
差别在于 setUp Thread Group 是在执行 Sampler 请求之前的前置作业
换句话说,也就是非主要的测试内容
但是又必须在负载测试执行之前完成的操作
对左侧预设的 Test Plan 按右键 接着依序选择
Add > Threads(Users) > setUp Thread Group
新增 tearDown Thread Group
tearDown Thread Group 的使用方式与 Thread Group 也几乎相同
差别在于 tearDown Thread Group 是在执行完所有 Sampler 请求之后的还原作业
换句话说,也就是非主要的测试内容
但是又必须在负载测试执行之后完成的操作
对左侧预设的 Test Plan 按右键 接着依序选择
Add > Threads(Users) > tearDown Thread Group
PreProcessor
PreProcessor 的概念与 setUP Thread Group 相似
目的都是为了在执行 Sampler 的请求前完成一些操作
差别在于 PreProcessor 是为单一 Sampler 请求提前执行的操作
BeanShell PreProcessor
新增 BeanShell PreProcessor
在 Sampler 请求中添加 BeanShell PreProcessor:
对左侧预设的 Sampler(HTTP Request) 按右键 接着依序选择
Add > Pre Processors > BeanShell PreProcessor
编辑 BeanShell PreProcessor
Name:BeanShell PreProcessor 的名称
Reset Interpreter:在每次执行前重置内容并清除内存 (预设为 False)
Parameters:设定参数,透过空格来设定多参数,并以bsh.args[num]
使用
File Name:执行外部 BeanShell 脚本的路径位置
BeanShell 是一种轻量级脚本,语法与 Java 相似
JSR223 PreProcessor
新增 JSR223 PreProcessor
在 Sampler 请求中添加 JSR223 PreProcessor
对左侧预设的 Sampler(HTTP Request) 按右键 接着依序选择
Add > Pre Processors > JSR223 PreProcessor
编辑 JSR223 PreProcessor
Name:JSR223 PreProcessor 的名称
Language:撰写 PreProcessor 脚本的程式语言
(beanshell, bsh, ecmascript, groovy, java, javascript, jexl, jexl2)
Parameters:设定参数,透过空格来设定多参数,并以bsh.args[num]
使用
File Name:执行外部 BeanShell 脚本的路径位置
小弟这边用的是 JavaScript 的语法,虽然範例没有写 function
除此之外,JMeter 还有提供很多种的 PreProcessor
HTML Link ParserHTTP URL Re-writing ModifierJDBC PreProcessorRegEx User ParametersSample TimeoutUser Parameters但是相较之下没有前两个所介绍的 PreProcessor 流行
换句话说 透过前两种 PreProcessor
就可以解决绝大部分甚至是所有的问题
因次这边小弟就不再赘述
Toggle (Enable/Disable)
Toggle 的功能主要是用来 启用或是禁用 Thread Group/Sampler
就跟写 script 将 function 注解的概念一样
使用方式有两种
第一种
如果状态为 Enable 可以选择 Disable 或是 Toggle 来禁用
如果状态为 Disable 可以选择 Enable 或是 Toggle 来启用
对左侧的 Thread Group/Sampler(HTTP Request) 按右键
选择 Enable/Disable 或是 Toggle
第二种
如果想要更快速的话 也可以透过快捷键达到同样的效果
对左侧的 Thread Group/Sampler(HTTP Request) 按左键
直接使用快捷键 command
+t
结尾
因为小弟也是新手使用的分享文
所以介绍的内容可能有遗漏或是错误,还请各位大哥大姐提点。
小弟将继续往下週迈进。 ─=≡Σ((( つ•̀ω•́)つ
参考文献
相关文章
A Quick Guide to JMeter PreProcessors | BlazeMeter鼠年全马铁人挑战 WEEK 11:API 测试工具 - Insomnia鼠年全马铁人挑战 WEEK 29:负载性能测试 - JMeter (上)相关影片
Jmeter Tutorial 18 - Jmeter BeanShell Scripting Part 1