jmeter——接口测试

一.线程组——选择测试计划,右键-->添加-->线程-->线程组

axios 怎么模拟接口超时 模拟接口测试_右键

axios 怎么模拟接口超时 模拟接口测试_右键_02

线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。

准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

二.HTTP请求——选择线程组:右键-->添加-->取样器-->HTTP请求

axios 怎么模拟接口超时 模拟接口测试_右键_03

axios 怎么模拟接口超时 模拟接口测试_axios 怎么模拟接口超时_04

请求名称,可不改

Web服务器信息,网络协议、域名或IP、端口号,可自行修改

接口请求:请求方法、请求路径、编码格式,可自行修改

参数传递:消息体数据存储JSON信息

三.HTTP信息头管理器——选择线程组:右键-->添加-->配置元件-->HTTP信息头管理器

作用:可以存储请求头里面的信息

axios 怎么模拟接口超时 模拟接口测试_HTTP_05

axios 怎么模拟接口超时 模拟接口测试_跨线程_06

四.查看结果——选择线程组:右键-->添加-->监听器-->查看结果树

axios 怎么模拟接口超时 模拟接口测试_跨线程_07

axios 怎么模拟接口超时 模拟接口测试_右键_08

1.开始测试

axios 怎么模拟接口超时 模拟接口测试_跨线程_09

axios 怎么模拟接口超时 模拟接口测试_axios 怎么模拟接口超时_10

接口调用成功,通过修改http请求来验证返回值是否符合预期!

jmeter——Http请求默认值
选择测试计划:右键-->添加-->配置元件-->HTTP请求默认值

axios 怎么模拟接口超时 模拟接口测试_右键_11

axios 怎么模拟接口超时 模拟接口测试_HTTP_12

一个线程下可以同时存在多个http请求,可以把公共参数,提取到HTTP请求默认值组件中
比如:协议、IP、端口号、编码等

然后在每个http请求的元件中,编辑自己独有的信息即可。

axios 怎么模拟接口超时 模拟接口测试_HTTP_13

axios 怎么模拟接口超时 模拟接口测试_HTTP_14

注:加了http请求默认值之后,在单个http请求里面还填写了同样的数据,那么以哪个为准就近原则——就近原则!

jmeter——Http cookie管理器

1.添加HTTP cookie管理器之前:有报错,缺少cookies

axios 怎么模拟接口超时 模拟接口测试_HTTP_15

2.选择测试计划:右键-->添加-->配置元件-->HTTP cookie管理器

axios 怎么模拟接口超时 模拟接口测试_HTTP_16

axios 怎么模拟接口超时 模拟接口测试_axios 怎么模拟接口超时_17

3.添加HTTP cookie管理器之后再次测试,不报错。

axios 怎么模拟接口超时 模拟接口测试_HTTP_18

作用描述:HTTP Cookie管理器可以像浏览器一样存储和发送cookie,如果你要发送一个带cookie的http请求,cookie manager会自动存储该请求的cookies,并且后面如果发送同源站点的http请求时,都可以用这个cookies。

jmeter——接口与线程之间的传参
以查询全部课程接口为例,希望提取课程id

axios 怎么模拟接口超时 模拟接口测试_跨线程_19

一.添加json提取器:右键http请求-》添加-》后置处理器-》json提取器

JSON提取公式:$..字段名

axios 怎么模拟接口超时 模拟接口测试_HTTP_20

axios 怎么模拟接口超时 模拟接口测试_axios 怎么模拟接口超时_21

查看提取结果——调试取样器:course_id=63

axios 怎么模拟接口超时 模拟接口测试_HTTP_22

提取全部id如下:

axios 怎么模拟接口超时 模拟接口测试_右键_23

axios 怎么模拟接口超时 模拟接口测试_HTTP_24

二.引用提取出来的参数

1.同一线程下引用:${引用名}

axios 怎么模拟接口超时 模拟接口测试_跨线程_25

axios 怎么模拟接口超时 模拟接口测试_跨线程_26

2.跨线程引用:后置处理程序
直接把进入课程详情接口拉到另一个线程下,课程id没有成功被引用

axios 怎么模拟接口超时 模拟接口测试_HTTP_27

跨线程需要把提取出来的值设置为全局变量:

右键http请求-》添加-》后置处理器-》后置处理程序

在BeanShell后置处理器中使用__setProperty()函数把courses_id设置为全局变量

\({__setProperty(新值,\){提取值},)};

axios 怎么模拟接口超时 模拟接口测试_axios 怎么模拟接口超时_28

axios 怎么模拟接口超时 模拟接口测试_跨线程_29

设置全局变量成功,再次引用查看效果

跨线程引用方法:${__property(变量名)}

axios 怎么模拟接口超时 模拟接口测试_跨线程_30

axios 怎么模拟接口超时 模拟接口测试_HTTP_31

跨线程调用成功!

报错是因为没有cookies,下面解决no cookies问题

三.跨线程调用cookies

1.找到需要提取的内容

axios 怎么模拟接口超时 模拟接口测试_右键_32

2.添加正则表达式提取器:右键http请求-》添加-》后置处理器-》json提取器

axios 怎么模拟接口超时 模拟接口测试_右键_33

axios 怎么模拟接口超时 模拟接口测试_右键_34

3.查看提取结果——调试取样器

axios 怎么模拟接口超时 模拟接口测试_HTTP_35

4.成功提取!同样,跨线程需要把提取出来的值设置为全局变量:

右键http请求-》添加-》后置处理器-》后置处理程序

\({__setProperty(nlqtoken,\){lqtoken},)};

axios 怎么模拟接口超时 模拟接口测试_跨线程_36

5.在第二个线程下添加信息头管理器

axios 怎么模拟接口超时 模拟接口测试_跨线程_37

6.跨线程引用函数:lqtoken=${__property(nlqtoken)}

axios 怎么模拟接口超时 模拟接口测试_右键_38

7.开始测试

axios 怎么模拟接口超时 模拟接口测试_跨线程_39

跨线程cookies调用成功!

jmeter——参数化

一.CSV Data Set Config方式

1.新建CSV格式文件

axios 怎么模拟接口超时 模拟接口测试_axios 怎么模拟接口超时_40

axios 怎么模拟接口超时 模拟接口测试_跨线程_41

2.CSV——选择测试计划,右键-->添加-->元件-->CSV data Sat config

axios 怎么模拟接口超时 模拟接口测试_跨线程_42

axios 怎么模拟接口超时 模拟接口测试_跨线程_43

3.使用参数化变量:${变量名}

axios 怎么模拟接口超时 模拟接口测试_axios 怎么模拟接口超时_44

4.开始测试

axios 怎么模拟接口超时 模拟接口测试_跨线程_45

axios 怎么模拟接口超时 模拟接口测试_HTTP_46

axios 怎么模拟接口超时 模拟接口测试_HTTP_47

三个登录接口分别使用了不同的账号密码

以上就是jmeter教程