失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > jmeter接口测试流程

jmeter接口测试流程

时间:2022-01-25 01:32:04

相关推荐

jmeter接口测试流程

目录

一、添加线程组

二、添加HTTP请求默认值

三、添加HTTP Cookie管理器

四、添加http请求

五、添加HTTP信息头管理器

六、添加响应断言

七、添加察看结果树

八、jmeter快捷键

一、添加线程组

鼠标右键点击“测试计划-->添加-->线程组(用户)-->线程组”,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”;设置线程数:线程数即虚拟用户数,每个线程将会完全独立的运行测试计划,互不干扰,多个线程用于模仿对服务器的并发访问;接口测试中一般设置为1个“线程数”;设置ramp-up 时间:设置虚拟用户数全部启动的时长;如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程,也就是平均每秒启动2个线程;设置循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”,那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

图 1线程组--元件位置

图 2线程组--相关参数

二、添加HTTP请求默认值

HTTP请求默认值可以对同级别HTTP请求设置默认域名、路径、传参等。如果HTTP请求的值与请求默认值冲突,以HTTP请求为主。

使用场景:为一组访问同域名的请求设置HTTP请求默认值,避免每个HTTP请求都设置同样的参数。修改时也更方便。

鼠标右键点击“测试计划-->添加-->配置元件-->HTTP请求默认值”;填写域名、路径,设置传参。

图3HTTP请求默认值--元件位置

图 4HTTP请求默认值--相关参数

三、添加HTTP Cookie管理器

HTTP Cookie管理器像Web浏览器一样存储和发送Cookie。如果HTTP请求响应包含cookie,则Cookie管理器会自动存储该cookie,并将其用于将来对该特定网站的所有请求,每个jmeter线程都有自己的“cookie存储区”。如果手动将Cookie添加到Cookie管理器,cookie将由所有jmeter线程共享。

鼠标右键点击“测试计划-->添加-->配置元件-->HTTP Cookie管理器”;填写Cookie键,Cookie值,Cookie作用的域。(手动添加Cookie时填写)

图 5HTTP Cookie管理器--元件位置

图 6HTTP Cookie管理器--相关参数

四、添加http请求

一个http请求指的是从客户端到服务端的请求信息。

鼠标右键点击“线程组-->添加-->取样器-->HTTP请求”;填写服务器协议、域名或IP地址、端口号、请求类型、路径、参数等。(HTTP请求默认值已设置的参数不填写,可直接调用)自动重定向:如果选中该项,发出的http请求得到响应是301/302,jmeter会重定向到新的界面使用keep Alive:jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信。(默认选中)

图 7HTTP请求--元件位置

图 8HTTP请求--相关参数

注意事项

(1)常用请求方法

get:从指定的资源请求数据。(把参数包含在URL中)

post:向指定的资源提交要被处理的数据。(通过request body传递参数将请求整体提交给服务器)

(2)参数化方式

一般来说,Get请求用Parameters。

Post请求,根据post请求数据的格式,分两种情况:map格式、json格式。当post请求数据为map格式,即参数名、参数值为key-value键值对,请求的参数添加在Parameters参数表中即可;post请求数据为json格式时,将json格式的请求数据加入到http请求BodyData中。(json规则:缩进一定要准确,参数名与值要用””包住,并用英文逗号隔开,在这里也可以引用其他接口的出参,格式如其它接口一样“${参数名}”,最后一组参数不要加逗号)

由于POST请求方式,如果不设置Headers的content-type,基本默认会以 application/x-www-form-urlencoded 方式提交数据。为了Post请求确保传的是json格式,还需要在HTTP信息头管理器中设置:Content-Type为application/json。

(3)Content-Type方式

content-type: application/x-www-form-urlencoded

如果不指定content-type,默认使用此格式。

参数可以在Parameters或Body Data里输入(只能使用其中一个),格式不同。

传参格式:key1=value1&key2=value2

content-type: application/json

要添加http信息头管理器(Content-Type为application/json),在http请求中的“BodyData”中输入参数。

传参格式

{

"key1":"value1",

"key2":"value2"

}

注:数据类型为list格式时,不需要参数名称,直接在“BodyData”中输入:[“value1”,”value2”,”value3”]

form-data(很少用到)

在http请求中一定要勾选“use multipart/from-data for POST”,Parameters中输入除了上传的文件以外的参数:参数名和参数值,Files Upload中上传文件,参数名和MIME类型。

传参格式:name="XXXX";value="XXXX"

(4)参数中有中文时,需要将编码方式配置为:utf-8,参数行勾选编码。

五、添加HTTP信息头管理器

用于定制HTTP请求的请求头内容,在请求需要一些验证信息时使用的较多,在http请求之前添加一个HTTP信息头管理器,将所需的头信息以键值对的方式添加进去,能够更真实的模拟该接口的访问,在后边的HTTP请求发送时则将使用该管理器中的header信息。

注:同一作用域下,不论添加多少个信息头管理器, 只会取第一个管理器的值, 不合并

示例:接口文档中content-type为:application/json时,需要配置HTTP信息头管理器,并且参数要在消息体数据中输入。并且配置的信息头管理器一定要放在各自的http请求下,不要放在总线程下,不然格式不同时,不能共用,就会容易出错。

鼠标右键点击“http请求-->添加-->配置元件-->HTTP信息头管理器”;填写信息头名称和值。

图 9HTTP信息头管理器--元件位置

图 10 HTTP信息头管理器--相关参数

六、添加响应断言

响应断言可以对服务器的响应接口进行断言校验,来判断接口测试得到的接口返回值是否正确。

鼠标右键点击“http请求-->添加-->断言-->响应断言”;apply to:通常发出一个请求只触发一个请求,所以勾选“main sampie only”就可以;若发一个请求可以触发多个服务器请求,就有main sample 和sub-sample之分了;测试字段:一般的http响应,都勾选“响应文本”;模式匹配:包括(返回结果包括你指定的内容,支持正则匹配),匹配和相等(效果相同,当返回值固定时,可以返回值做断言),字符串(与 “包括”差不多,都是指返回结果包括你指定的内容,但是不支持正则字符串);测试模式:输入结果期望值(空格要去掉,与响应数据对应)。

图 11 响应断言--元件位置

图 12 响应断言--相关参数

七、添加察看结果树

添加察看结果树可以看到请求的发送和返回信息,判断返回的请求是否正确。

http响应指的是从服务端到客户端的响应消息,包括响应状态码,响应头,响应报文。

鼠标右键点击“线程组-->添加-->监听器-->察看结果树”;执行测试后,就可以在察看结果树里看到详细请求信息;查看结果树中执行成功的请求在左侧会显示绿色,执行失败会显示红色。(当我们没有加断言时,显示绿色并不一定就是成功了,只代表响应码是200或300系列,显示红色说明响应码是400或500系列,所以要想确定请求返回的是正确的,必须要加上断言,只有断言成功才会显示绿色)

图 13 察看结果树--元件位置

图 14 察看结果树-相关参数

八、jmeter快捷键

如果觉得《jmeter接口测试流程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。