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

2023-12-14 16:00:24

前言

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

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

设置如下

1、登录(POST)

登录

登录接口

简要描述:

  • 登录接口

请求URL:

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

请求方式:

  • post

?

参数名

必选

类型

说明

username

string

用户名

passwd

string

密码

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

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

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

具体如下:?

?

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

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

2、获取学生信息(GET)

获取学生信息

简要描述:

  • 获取学生信息接口

请求URL:

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

请求方式:

  • get

?

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

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

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请求示例,我们可以直接复制过来,简单修改一下即可。如下:

??

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

?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字段,如下:

?

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

获取所有学生信息

简要描述:

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

    请求URL:

  • http://api.nnzhp.cn/api/user/all_stu
  • 请求方式:

  • get

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

    参数:

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

?

6、文件上传(POST)

文件上传

简要描述:

  • 上传文件接口

请求URL:

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

请求方式:

  • post

?

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

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

?

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取?

?

文章来源:https://blog.csdn.net/OKCRoss/article/details/134994350
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。