程序员的大厨梦

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一.基本概念

测试计划:用来包含测试任务,一个测试计划中至少包含一个线程组

线程组:定义了一个虚拟用户池,所有的用户都执行同样的测试脚本

采样器:采样器是JMETER测试的基本单元,用户可以用它向服务器发一个特定的请求,如HTTP,FTP等,采样器会再超时前等待服务器的响应

逻辑控制器:用户通过逻辑控制器来控制脚本的执行顺序,以变测试能按照用户期望的顺序和逻辑执行

配置元件:配置元件用来设置一些JMETER脚本公用的的信息

断言:断言被用来验证服务器实际返回信息与用户期望的信息是否相符,常用响应断言

定时器:定时器用来保存JMETER测试脚本与时间相关的一些信息,例如思考时间

前置处理器:再前置处理器的处理范围内,任何采样器被执行前,都要先执行前置处理器

后置处理器:再后再处理器的处理范围内,任何采样器被执行后,都要执行后置处理器

监听器:监听器被用来收集测试结果信息,并以用户指定的方式加以展示

二.JMETER设置为中文

第一种:可以通过jmeter的界面工具来设置语言为中文,点击菜单栏【Options】按钮-点击【Choose Language】-【Chinese(simplified)】

设置完成的效果

第二种:进入bin目录下,找到jmeter.properties配置文件,打开后通过搜索找到language=****,修改language=zh_CN点击保存设置完成,重启jmeter。

三.基本过程

新增线程组->新增JMeter元组->新增监听器->运行&查看结果

1).新建线程组:在测试计划栏右键--选择【添加】--选择【threads(users)】--选择【线程组】

 2).线程组参数解析

继续:如果取样器里的执行出现错误失败的时候,请求不会停止,继续执行。
Start Next Thread Loop : 忽略错误,线程当前循环错误,执行下一个循环。
停止线程 : 只限当前线程停止,不影响其他线程执行
停止测试 : 当前执行的线程全部执行完毕后结束
Stop Test Now: 立刻停止

线程数Number of Threads(users):虚拟用户数,每秒同时并发的用户。

Ramp-Up Period(in seconds):设置的虚拟用户需要多长时间全部启动。

循环次数Loop Count:每个线程发送请求的次数,循环*次。如果选择“永远”,则一直执行下去,直到手动停止;

线程数/全部启动时间=每秒钟增加的用户数的策略

线程数*循环次数=总请求次数

全部启动时间*循环次数=运行的总时长

线程组比其他两个多了个Delay Thread creation until needed:延迟线程创建,这个默认不勾选,测试开始的时候,所有线程就被创建完。勾选了此选项,那么线程只会在合适的需要用到的时候创建。

调度器Scheduler:灵活设置运行时间

 需要选中调度器(scheduler),调度器配置才生效。

持续时间(秒):线程组运行的时间

启动延迟(秒):线程组延迟多少秒后启动

3).新建HTTP请求右击【线程组】--选择【添加】--选择【sampler】--选择【http请求】

 4).HTTP请求参数解析

1.名称:请求名称非常有必要方便以后看懂

2.协议:默认HTTP,可以填写HTTP或HTTPS

3.服务器名称或IP:服务IP或URL

4.端口号:不填写默认80

5.请求方法:默认GET,请求方式有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT

GET     请求获取Request-URI所标识的资源
POST    在Request-URI所标识的资源后附加新的数据
HEAD    请求获取由Request-URI所标识的资源的响应消息报头
PUT     请求服务器存储一个资源,并用Request-URI作为其标识
DELETE  请求服务器删除Request-URI所标识的资源
TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

6.路径:HTTP请求URL

7.内容编码:HTTP请求编码

8.参数:URL参数,一般GET请求填写这里,post填写在Body Data中,但是我全部填写在第一个里面

9.添加:添加行填写请求参数Key/Value

5).添加监听器,如结果树,聚合报告

6).运行:点击工具栏上启动按钮,然后查看结果树

7).BeanShell 后置处理程序:处理响应结果,转码为正常UTF-8

转码前vs转码后

 8).HTTP请求默认值:可以把请求的URL,token及共用的参数写在这个里面,这样就不用每个HTTP请求中都写URL,token。

 

 

总结:以上就是jmeter基本接口测试流程,想必也是比较简单。大家没事多动动手写写

参数化CSV Data Set Config与参数化函数助手:https://www.cnblogs.com/Testing1105/p/12048427.html

posted on 2019-08-15 16:06  程序员的大厨梦  阅读(356)  评论(0编辑  收藏  举报