Jmeter在接口测试中的简单使用

一,Jmeter启动

1.进入解压目录/bin/

2.sh jmeter

或者直接双击。

二,简单认识JMeter

1,如何创建一个工程,可以参考满哥的文章:

http://www.cnblogs.com/puresoul/p/4740436.html

2,HTTP请求默认值(用charles任意抓一个请求,看看哪些部分与请求中对应),举例如下:

http://httpbin.org/response-headers?Server=httpbin&Content-Type=text%2Fplain%3B+charset%3DUTF-8(默认80端口)

Jmeter在接口测试中的简单使用_第1张图片
图片发自App

3,创建一个HTTP请求

Jmeter在接口测试中的简单使用_第2张图片
图片发自App
Jmeter在接口测试中的简单使用_第3张图片
图片发自App

4,用户定义的变量(全局使用,一直存在),及其引用

Jmeter在接口测试中的简单使用_第4张图片
图片发自App
Jmeter在接口测试中的简单使用_第5张图片
图片发自App

5,简单控制器(相当于文件夹)

Jmeter在接口测试中的简单使用_第6张图片
图片发自App
Jmeter在接口测试中的简单使用_第7张图片
图片发自App

6,循环控制器(图中接口循环执行四次,不用创建4个HTTP请求)

Jmeter在接口测试中的简单使用_第8张图片
图片发自App

7,启用/禁用(如果部分接口不想执行,禁用掉即可,禁用置灰,可随时启用)

Jmeter在接口测试中的简单使用_第9张图片
图片发自App

8,添加正则表达式(只有这个接口的出参才可用正则表达式保存,图2中两个参数都是test1接口返回,相当于4中自定义变量,只是它使用范围有限,只有它后面的接口才可使用,使用完后不会保存)

Jmeter在接口测试中的简单使用_第10张图片
图片发自App
Jmeter在接口测试中的简单使用_第11张图片
图片发自App

9,查看结果树(选择json格式查看响应数据比较方便)

Jmeter在接口测试中的简单使用_第12张图片
图片发自App

10,CSV Data Set Config参数化

Jmeter在接口测试中的简单使用_第13张图片
图片发自App
Jmeter在接口测试中的简单使用_第14张图片
图片发自App
Jmeter在接口测试中的简单使用_第15张图片
图片发自App

11,Debug Sampler:

注:

a,JMeter properties和System

properties:通常都选false,这两个就是JMeter和系统的属性,在Jmeter的bin的jmeter.properties中定义,一般都不会变。

b,JMeter variables:这个是我们自已定义的变量,定义的方式有如下这些:

1)选中测试计划(Test plan),在右边的面板上添加用户定义的变量

2)选中线程组,右键选择配置元件—>用户定义的变量

3)通过后置处理器中正则表达式生成的变量

4)使用csv参数化的变量

c、Debug Sampler会把我们自定义的变量输出在response

data中,方便我们调试的时候使用

d、在正式执行脚本时需要删除DebugSample

Jmeter在接口测试中的简单使用_第16张图片
图片发自App
Jmeter在接口测试中的简单使用_第17张图片
图片发自App

三,问题汇总

1,上传本地图片(开户、修改头像等),在Files UpLoad添加图片参数

Jmeter在接口测试中的简单使用_第18张图片
图片发自App

2,若响应数据中有乱码或者msg全是???,则回到其接口,可以在encoding加上UTF-8解决

Jmeter在接口测试中的简单使用_第19张图片
图片发自App
Jmeter在接口测试中的简单使用_第20张图片
图片发自App

四,压力测试浅谈

1,压力测试需要安装的插件:

Jmeter在接口测试中的简单使用_第21张图片
图片发自App
Jmeter在接口测试中的简单使用_第22张图片
图片发自App

把以上jar包放到jmeter lib目录下ext目录下

Jmeter在接口测试中的简单使用_第23张图片
图片发自App

然后重启jmeter,查看线程组下多了几个用于压力测试的模块

Jmeter在接口测试中的简单使用_第24张图片
图片发自App

2,压力测试设置如下:

Jmeter在接口测试中的简单使用_第25张图片
图片发自App

3,参数分析:

Avergae:平均响应时间,单位ms,不大于3秒均为符合

Median:响应时间参数

90%line:90%以上Sample的响应时间

95%line:95%以上Sample的响应时间

99%line:99%以上Sample的响应时间

Min:最小响应时间

Max:最大响应时间

Throuthput:吞吐量,一般是运营给运营指标,例如日活,然后计算出吞吐量(例如6小时10000个请求,10000/6*60*60)

图片发自App

4,各参数设置代表的含义:

初始化延迟10秒(等待10秒,00:00:00-00:00:10),开始启动线程,20秒(00:00:10-00:00:30)内启动50个线程,保持加载60秒后(00:00:30-00:01:30),10秒内(00:01:30-00:01:40)停止

注:Hold Load For,sec一般设置20min(1200sec),可先设置5分钟试下,稳定后再设置20秒

StartThreadsCount:启动线程数

Jmeter在接口测试中的简单使用_第26张图片
图片发自App

5,响应时间(没有突然变得很大,如超过3秒,曲线类似下图,则正常)

Jmeter在接口测试中的简单使用_第27张图片
图片发自App

6,吞吐量(先变大,然后稳定,再变小)

Jmeter在接口测试中的简单使用_第28张图片
图片发自App

7,跟后端获得服务器的指标(单双核,CPU,内存,相应时间,吞吐量),压测时同时关注服务器的指标是否正常

你可能感兴趣的:(Jmeter在接口测试中的简单使用)