您现在的位置是:首页 >技术杂谈 >这绝对是csdn写的最全面最详细的jmeter常用10大组件以及组件的执行顺序和作用域,附带视频教程。网站首页技术杂谈
这绝对是csdn写的最全面最详细的jmeter常用10大组件以及组件的执行顺序和作用域,附带视频教程。
JMeter是一款常用的性能测试工具,其中包含了许多组件,以下是JMeter常用的10大组件:
视频教程:b站最牛Jmeter接口测试和Jmeter接口自动化测试全集_哔哩哔哩_bilibili
-
线程组(Thread Group):线程组是JMeter测试计划中的起点,它定义了并发用户的行为和数量。
-
定时器(Timer):定时器可以控制测试请求之间的延迟时间或者执行频率,以模拟真实场景下的用户请求。
-
配置元件(Config Element):配置元件可以设置全局变量、HTTP Cookie等,便于测试请求的复用和管理。
-
断言(Assertion):断言可以验证响应结果是否符合预期,如响应状态码、文本内容等。
-
前置处理器(Pre-Processor):前置处理器可以在发送请求之前对请求参数进行修改或添加,如添加随机数、时间戳等。
-
后置处理器(Post-Processor):后置处理器可以对响应结果进行解析和提取,如从JSON数据中提取某个字段等。
-
监听器(Listener):监听器可以收集并展示测试结果,如聚合报告、图形化分析等。
-
HTTP请求(HTTP Request):HTTP请求可以模拟用户向服务器发送HTTP请求,如GET、POST等。
-
FTP请求(FTP Request):FTP请求可以模拟用户向FTP服务器发送文件传输请求,如上传、下载等。
-
JDBC请求(JDBC Request):JDBC请求可以模拟用户向数据库发送SQL查询请求,如查询、更新等。
这些组件的执行顺序为:线程组 -> 配置元件 -> 定时器 -> 前置处理器 -> HTTP请求/FTP请求/JDBC请求 -> 后置处理器 -> 断言 -> 监听器。其作用域分别为全局(应用于整个测试计划)、线程组(仅应用于当前线程组)和单一请求(仅应用于当前请求)。
以下是使用Python代码操作JMeter的示例:
from jmeter_api import JMeterTestPlan, ThreadGroup, HTTPSampler, Header, CookieManager, ViewResultsTree
# 创建测试计划
test_plan = JMeterTestPlan(name="My Test Plan")
# 创建线程组
thread_group = ThreadGroup(name="My Thread Group", num_threads=10, ramp_time=5, loop_count=3)
test_plan.add(thread_group)
# 创建HTTP请求
http_sampler = HTTPSampler(name="My HTTP Request", domain="www.example.com", path="/index.html", method="GET")
http_header = Header(name="Content-Type", value="application/json")
http_cookie_manager = CookieManager()
http_sampler.headers.add(http_header)
http_sampler.cookie_manager = http_cookie_manager
thread_group.add(http_sampler)
# 添加监听器
view_results_tree = ViewResultsTree(name="My Listener")
test_plan.add(view_results_tree)
# 执行测试计划
test_plan.run()
以上代码演示了创建一个简单的测试计划,并在其中添加了一个线程组、一个HTTP请求和一个监听器。实际测试中,需要根据具体场景选择合适的组件进行组合,并设置相应的参数。除了上述示例中使用的组件外,我们还可以使用其他常用组件来构建测试计划。例如,在HTTP请求中添加参数、头信息等内容:
from jmeter_api import JMeterTestPlan, ThreadGroup, HTTPSampler, Header, CookieManager, ViewResultsTree
# 创建测试计划
test_plan = JMeterTestPlan(name="My Test Plan")
# 创建线程组
thread_group = ThreadGroup(name="My Thread Group", num_threads=10, ramp_time=5, loop_count=3)
test_plan.add(thread_group)
# 创建HTTP请求
http_sampler = HTTPSampler(name="My HTTP Request", domain="www.example.com", path="/index.html", method="GET")
http_header = Header(name="Content-Type", value="application/json")
http_cookie_manager = CookieManager()
http_cookie_manager.add_cookie(name="session_id", value="123456789")
http_sampler.headers.add(http_header)
http_sampler.cookie_manager = http_cookie_manager
http_sampler.add_argument(name="search_key", value="jmeter")
thread_group.add(http_sampler)
# 添加监听器
view_results_tree = ViewResultsTree(name="My Listener")
test_plan.add(view_results_tree)
# 执行测试计划
test_plan.run()
在上述代码中,我们给HTTP请求添加了一个名为“search_key”值为“jmeter”的参数,并添加了一个名为“session_id”值为“123456789”的Cookie。
除此之外,JMeter还支持更多的功能和组件,如逻辑控制器、交替控制器等,可以根据实际测试需求进行选择和配置。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励,也方便你下次能够快速查找,感谢。