| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> JMeter使用教程(一) -> 正文阅读 |
|
[开发测试]JMeter使用教程(一) |
Apache JMeter是Apache组织开发的一款开源软件,是典型的纯Java开发的应用程序,可以在不同平台比如Windows、Linux或macOS系统上进行软件测试。JMeter主要用于应用程序的功能负载测试以度量软件的性能,也可以用于其他类型的测试比如接口测试,API测试等。 01测试计划一个测试计划用来定义这次要测试的内容。保存后的测试计划是一个.jmx文件。 可以导入已有的测试计划jmx文件; 可以在测试计划中添加其他各个组件,完成测试; ? 1.1配置 独立运行每个线程组:勾选后,独立运行每个线程组,确保线程组1的执行一定在线程组2之前;不勾选,运行时测试计划下所有线程组同时执行; 主线程结束后运行tearDown:默认是从上到下执行;交替控制器、随机控制器、随机顺序控制器和循环控制器等可以改变取样器的执行顺序; 函数测试模式:如果选中此项,监听组件如“查看结果树”配置了保存到一个文件中,那么jmeter会将每次请求结果保存到文件中,不建议勾选; 添加目录或jar包到ClassPath:可以引入测试项目特有的jar等。 1.2操作 运行、清除 [启动]:执行测试计划下所有启用状态的节点。 [清除]:清除运行结果。 02线程组【添加线程组】测试计划->添加->线程->线程组 线程组:模拟一定数量的并发用户发送请求,在线程组下配置用户要进行的操作(如添加http请求) 虽然有三个添加线程组的选项,名字不一样,?创建之后,其界面是完全一样的。 1)?setup 线程组 可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。 2)?teardown 线程组 可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。 3) 线程组 这个就常用添加运行的线程。可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。 配置信息 [线程属性]:相当于要模拟的虚拟用户数,以及启动线程的时间,循环的次数。 [线程数]:虚拟用户数。 [Ramp-Up 时间]:多长时间启动全部线程,单位秒。如配置为1,即表示在1秒结束前启动完所有线程。每个线程启动的延迟时间=线程数,如线程数是1,即表示每隔1秒启动1个线程。如果要模拟测试绝对并发,可以把Ramp-Up 时间配置为0。 [循环次数]:即每个线程发送请求的次数。勾选永远,即一直执行,直到强制停止。 [在取样器错误后要执行的动作]:默认选择继续、启动下一个进程循环、停止线程、停止测试、立刻停止测试。 [调度器]:勾选后可以配置线程组持续时间、启动延迟。 ? 03取样器取样器:模拟各种请求,如http请求等。 【添加取样器】线程组->添加->取样器 目前最常用的是HTTP请求 04断言可以添加断言配置测试的期望值,执行时jmeter会判断请求响应的结果是否与期望值一致。 【添加断言】测试计划/线程组/请求->添加->断言(有多种断言方式) 断言中有很多类型,我们常用的是响应断言 4.1响应断言 响应断言编辑页面,可选择断言应用范围和要测试的响应字段,匹配规则等。 (1)Apply to(应用范围?):?Main sample and sub-samples,Main sample only , Sub-samples only ,Jmeter Variable 一共4种。 大多数勾选“,Main sample only”?就足够了,因为一个请求,实质上只有一个请求。 (2)响应字段:响应文本,响应代码,响应信息,响应头,请求头,URL样本,文档(文本),请求数据一共8种
(3)模式匹配规则:包括、匹配、相等、字符串、否、或者
????????????(1)?相当于 equals 。当返回值固定时,可以返回值做断言,效果和equals相同 (2)?正则匹配 。用正则表达式匹配返回结果,但必须全部匹配。即正则表达式?必须能匹配整个返回值,而不是返回值的一部分。
🎙?我是一个热衷分享测试干货的软件测试工程师 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:48:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |