近期粉丝们基于JMeter工具咨询的问题,今天以JMeter入门第一个jmx测试脚本编写,针对不同类型的HTTP请求案例,给他大家详细的演示一下!
二、JMeter工具释义
1. 新建测试计划
2. 新建线程组
1 是进行配置当线程run之后结果报错,下一步采取什么动作
- 继续:是代表线程报错后还继续运行(例如我们线程数设置的100,当运行到第59个时请求报错了,此时还会接接着运行第60个请求)
- 停止线程:基于上方场景结果就是再59个请求直接停止运行(停止该线程)
- 停止测试:是直接停掉所有的执行的线程
2 相关字段释义
- 线程数:即用户数,一个虚拟用户占用一个进程或线程,需要多少用户并发,设置多少虚拟用户数在这里也就是设置多少个线程数
- Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为100,准备时长为10,那么需要10秒钟启动100个线程,也就是每秒钟启动10个线程
- 循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为100,那么每个线程发送100次请求。总请求数为20*100=2000 如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本
3 调度器释义
- 持续时间:是指每个线程持续运行多久
- 启动延迟:是指第一个请求启动时缓冲等待多少秒
3. 新建HTTP信息头管理器
- 常用字段例如:Content-Type、AppId、Client-Type...
4. 新建HTTP请求
在HTTP请求中填入测试的这个接口对应的 用户协议,用服务器地址、端口、方法,这里方法我用的是POST,然后填入路径,选择Body Data,填入请求的参数 (这些参数都可以通过开发提供的接口文件中获得或自己抓包获得
字段释义
- 协议:向目标服务器发送http请求时的协议,http/https,大小写不敏感,默认http
- 服务器名称或IP:http请求发送的目标服务器名称或者IP地址,比如http://www.baidu.com
- 端口号:目标服务器的端口号,默认值为80,可不填
- get、post、put、delete...
- 路径:目标的URL路径(不包括服务器地址和端口)
- Content encoding:内容的编码方式(Content-Type=application/json;charset=utf-8)
- 自动重定向:如果选中该项,发出的http请求得到响应是301/302,jmeter会重定向到新的界面
- 跟随重定向:Http Request取样器的默认选项,但响应Code是3XX时(比如301是重定向),自动跳转至目标地址
- Use keep Alive:jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信(默认选中)
- Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时使用
- Parameters、Body Data以及Files Upload :具体使用哪一个,主要取决于在HTTP信息头管理器中Content-Type设置的什么类型
5. 察看结果树
三、案例演示
1. GET请求
- 添加测试计划&定义变量
- 添加默认的请求
- 添加线程组设置用户数以及时间
- 添加请求头字段
- 添加HTTP请求录入请求方法、地址
- 添加查看结果树
- 添加断言,拿个包含响应文本小试牛刀
- 查看断言结果,没出现信息
2. POST请求
- 添加HTTP请求
- 添加信息头
- 添加察看结果树
- 添加json断言
- 添加断言结果
以上就是基于JMeter基本操作使用的一个介绍以及案例演示当然我们的请求类型还有很多种类型,大家可以下去练习一下,这篇文章还是狠基础的相信大家看完应该会基本使用的!
另外近期的《M哥性能测试班》火热报名中,大家抓紧时间报名吧!「M哥性能测试」从0到1
如果你觉得文章对你有所帮助,还劳烦各位动动小手点赞、再看、分享广而告之!感谢!
- End -
文 | 整理 测试开发技术 订阅号,转发请备注来源!
Python测试社区博主介绍:7年测试人,某大厂高级系统测试工程师,坐拥1.5W粉丝守护,感谢大家一直以来的支持,个人IP信条:分享真实生活,做个有温度的测试