前言:
本次主要介绍Jmeter测试http接口时,涉及的常用组件,包括:
(一)基本界面和组件概念
(二)常用配置元件
(三)HTTP请求标配组件
(一)基本界面和组件概念
1. 测试计划:是使用jmeter进行测试的起点,它是其它jmeter测试元件的容器
2. 线程组:代表一定数量的并发用户,可以用来模拟并发用户的发送请求。实际的请求内容在线程组->取样器中定义,它被线程组包含,可以在测试计划-->添加-->线程组来建立
参数解释 :
线程数:最大测试时使用的线程数,默认是1,可以用来设置并发用户数。
Ramp-Up Period : Jmeter达到指定最大线程数的时间。
① 0代表同时并发;
② 如果线程数是3,所需时长是3S,则3/3=1 每隔1S启动一个线程;
③ 一般设置Ramp-Up=线程数,然后上下调整到所需。
循环次数 : 如果是Forever,线程组中的线程将不间断的连续测试系统,当然也可以设置每个线程测试的次数,当完成了规定次数后,该线程将自动退出线程组。
调度器:主要用来指定该测试的一些时间信息,比如从几点到几点运行测试,如果到了指定时间测试没有进行完成,测试也会被停止(这个很少用到)
(二)常用配置元件
测试http接口请求时,需要先添加定义header相关元件:
1. HTTP信息头管理器:
HTTP消息头管理器允许你定制JMeter在HTTP请求消息头发送什么信息。这个消息头包括像"User-Agent", "Pragma", "Referer"等属性。
HTTP消息头管理器像HTTP Cookie管理器一样,如果你因为一些原因你不希望在你的测试里为不同的HTTP请求对象指定不同的消息头,可以添加到线程组等级。
选择添加-->配置元件-->HTTP信息头管理器
参数解释:
名称 / 注释:可以自定义。
信息头:可以自己增加接口的参数,设置对应的名称和值。
这里需要说下,如果研发未提供相关头信息,我们也可以自己打开控制台,F12(开发者模式)下去获取哦!!
2. HTTP Cookie管理器:
除非你的应用程序明确的不使用Cookies,几乎所有的网站应用程序都会使用cookie支持。要添加cookie支持,可以简单的在你的测试计划中给每一个线程组添加一个 HTTP Cookie管理器。这样确保每个线程组有自己的cookies。
添加 HTTP Cookie管理器,简单地选择这个线程组,选择添加-->配置元件-->HTTP Cookie管理器,也可以从编辑菜单或通过右键点击来实现添加。
这里需要说下,如果研发未提供相关头信息,我们也可以自己打开控制台,F12(开发者模式)下去获取哦!!
3. 用户定义的变量:选中取样器,右键:添加-配置元件-用户定义的变量
一般是将整个线程公用的值参数化,这样后期好维护,如果有变化不需要每个接口逐个去修改。
(三)Http请求标配组件
上面我们把基础元件已经介绍完了,接下来我们就可以在线程下增加接口请求啦。
1. HTTP请求:线程组->取样器->http请求添加
说明:有的接口无消息体,需要在接口路径上直接传参,这种情况下我们可以直接添加接口参数。
2. 响应断言:主要用来判断http请求是否调用成功,这个和http请求是标配哦。添加路径:http请求->断言->响应断言添加
参数解释:
测试字段:选择需要判断内容的位置,比如是通过响应的头信息判断是否成功,这个根据自身需要选择即可。
匹配规格:这个字面意思很容易读懂,选择完全匹配还是包含等等...
测试模式:这个才是真正的判断条件,要和接口的响应信息一致,如果不匹配则提示接口调用失败。
3. 正则表达式提取器获取:主要用户获取接口返回的参数,下面以获取token为例
添加位置:后置处理器-正则表达式提取器
名称+注释:可不修改,只是为了方便自己识别
要检查的字段:主体等选择,一般我们选择主体,即服务器返回给我们的页面主体信息
【引用名称】:就是参数名称,在别处引用;如输入TOKEN,别处引用的时候使用${TOKEN}
【正则表达式】:表达式中()内的内容就是要提取的。如"token": "(.+)", "userUpdate",表示查找token/字符串之后的内容,直到出现第一个user时结束;(注意括号里的表示提取的内容)
():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:在找到第一个匹配项后停止。
【模板】:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$1$(表示只有一组数据),$2$等等,表示解析到的第1个、第2个值给mysid
【匹配数字】:0代表随机取值,-1代表所有,1代表全部取值
【缺省值】:如果参数没有取到值,则使用此处的缺省值
4. 调试取样器:主要用户打印获取的参数值,方便用于调试
添加位置:线程组->取样器->调试取样器
5. 察看结果树:用来查看接口返回结果,无需配置直接添加后即可使用。
添加位置:线程组->监听器->查看结果树
Hello Test,至此我们jmeter的基本组件就介绍完了,按照该文档我们应该可以写一个简单的http接口测试脚本啦,动手试试吧~~以下截图是我写的用户登录--获取登录token--新建用户的脚本,大家可以参考结构哦,下一章节我会具体介绍如果书写一个新建用户的简单脚本,大家及时关注哦,比心~