目录

教你用JMeter做接口测试的几个简单实例

教你用JMeter做接口测试的几个简单实例

目录


前言

这次小项目是基于HTTP协议的接口,通过JMeter来完成一次基本的接口测试,完整复习一下JMeter的基本操作。

这次练手用的项目,提供的接口文档挺详细的,文末领取。

在实际项目中,测试也要先从开发那拿到接口说明书,分析熟悉业务后,写接口的测试用例,最后再在JMeter里写接口测试的脚本。

设置如下

https://i-blog.csdnimg.cn/blog_migrate/0e5da20bbf4ec41084936f88f8aa1aec.png

jmeter接口测试视频教程:

[敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibili

https://i-blog.csdnimg.cn/blog_migrate/64d367beb016e45fdc8d8aaff940b313.png “敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibili”)

1、登录(POST)

登录

登录接口

简要描述:

  • 登录接口

请求URL:

  • http://api.nnzhp.cn/api/user/login

请求方式:

  • post
参数名必选类型说明
usernamestring用户名
passwdstring密码

登录接口POST请求,入参 username 和 passwd 都是必填项。

在线程组下添加一个察看结果树和HTTP请求默认值,前者可以方便查看所有请求的结果,后者在跑多个同域名的接口的测试的时候,可以设置默认值很实用。

https://i-blog.csdnimg.cn/blog_migrate/dd171832ca58ce194b137acff2ec7398.png

接着就可以做HTTP请求,并加上相应的断言,看用错误密码登录和成功的登录的响应是否符合预期

具体如下:

https://i-blog.csdnimg.cn/blog_migrate/bdc4bc4fb8f052836b8ca261af1797b6.png

https://i-blog.csdnimg.cn/blog_migrate/d444c8f25ad33f9846b51108756091d2.png

错误的密码时,登录失败,返回的响应体符合断言的预期:

https://i-blog.csdnimg.cn/blog_migrate/4b8da60a395203d251a86772fbda43e0.png

请求正确,登录成功,断言通过:

https://i-blog.csdnimg.cn/blog_migrate/64e63d9e0215a6205ed3593f84d66a90.png

2、获取学生信息(GET)

获取学生信息

简要描述:

  • 获取学生信息接口

请求URL:

  • http://api.nnzhp.cn/api/user/stu_info

请求方式:

  • get
参数名必选类型说明
stu_namestring学生姓名

从接口文档中,我们可以看到获取学生信息用到的是GET方式的请求,入参中 stu_name 为必填项,返回参数太多,就不细说了。

https://i-blog.csdnimg.cn/blog_migrate/ee84678774aa329944fccc5988dd10d3.png

3、添加学生信息(POST,JSON)

添加学生信息

简要描述:

  • 添加学生信息,这个接口是用来讲入参是json类型的

请求URL:

  • http://api.nnzhp.cn/api/user/add_stu

请求方式:

  • post
  • 入参是json类型
参数名必选类型说明
namestring学生姓名
gradestring班级
phoneint电话
sexstring性别,如果不传默认为男
ageint年龄,如果不传默认为18
addrstring地址,如果不传默认为北京市昌平区

在添加学生信息的接口中,用到的也是POST请求方式,但与登录接口不同的是,它的入参是JSON类型的,接口文档中有1个JSON请求示例,我们可以直接复制过来,简单修改一下即可。如下:

https://i-blog.csdnimg.cn/blog_migrate/30586dc72f8d33d17db97c1529066f37.png

https://i-blog.csdnimg.cn/blog_migrate/ccfffeda4a13c4bf4b0cc6cafad4b9c0.png

在这里,由于这个学生信息已存在系统中了,因此返回添加失败的结果。所以,我需要添加1个新的学生信息,另外,这里需要调整下编码格式为utf-8,否则添加的学生信息会出现中文乱码。

https://i-blog.csdnimg.cn/blog_migrate/41d19c11913b84e570b22aa2a341053a.png

jmeter接口测试视频教程:

[敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibili

https://i-blog.csdnimg.cn/blog_migrate/64d367beb016e45fdc8d8aaff940b313.png “敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibili”)

4、学生充值金币(POST,Cookie)

学生金币充值

简要描述:

  • 学生金币充值接口,这个接口是为了讲添加cookie以及身份验证的

请求URL:

  • http://api.nnzhp.cn/api/user/gold_add

请求方式:

  • post

参数:

该接口有权限验证,需要admin用户才可以做操作,需要添加cookie

cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign

参数名必选类型说明
stu_idint学生id
goldint金币数量

这个接口有权限验证,需要admin用户登录成功后才可以进行充值,另外,在入参 stu_id 和 gold 中,我们发现 stu_id 指的是学生ID,这里其实就是最开始 获取学生信息 接口返回结果中的id字段,如下:

https://i-blog.csdnimg.cn/blog_migrate/a200f0e5cbad32602f04830c8c1fe48a.png

5、获取所有学生信息(GET,header)

获取所有学生信息

简要描述:

  • 这个接口是为了说明怎么添加header信息的

请求URL:

  • http://api.nnzhp.cn/api/user/all_stu

请求方式:

  • get

需要添加header信息,key为Referer value 为http://api.nnzhp.cn/

参数:

从接口文档中,我们了解到,要获取所有学生信息,需要添加请求信息头,因此,我们创建一个线程组,在线程组下依次添加HTTP信息头管理器、HTTP请求、察看结果树,如下

https://i-blog.csdnimg.cn/blog_migrate/505968e000af0c2e07470a41897bd878.png

https://i-blog.csdnimg.cn/blog_migrate/66b15d6c4033e107ef0921241cb08495.png

6、文件上传(POST)

文件上传

简要描述:

  • 上传文件接口

请求URL:

  • http://api.nnzhp.cn/api/file/file_upload

请求方式:

  • post
参数名必选类型说明
filefile文件

在上传文件接口中,需要注意的是这里的入参是file类型的,因此,我们需要准备一个待上传的文件。

https://i-blog.csdnimg.cn/blog_migrate/bed04c1345da50428e241786ddd75ed7.png

jmeter接口测试视频教程:

[敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibili

https://i-blog.csdnimg.cn/blog_migrate/64d367beb016e45fdc8d8aaff940b313.png “敢称史上最全,jmeter接口测试实战教程,一学就会,零基础入门必看_哔哩哔哩_bilibili”) https://i-blog.csdnimg.cn/blog_migrate/9d40f0e49ca278f91ca8977084032d8c.png

https://i-blog.csdnimg.cn/blog_migrate/2e9ad7feefe5fa8355c2c12f578e8267.png