一、获取学生信息
获取学生信息(GET请求)
从接口文档中,我们可以看到获取学生信息用到的是GET方式的请求,入参中 stu_name 为必填项,返回参数太多,在此就不详细说明了。我们先创建一个线程组,在线程组下添加一个HTTP请求和查看结果树,如下:
![af09aba3ca7098dea2aeef7d3cf0bc39.png](https://img-blog.csdnimg.cn/img_convert/af09aba3ca7098dea2aeef7d3cf0bc39.png)
![bf8b12ba1ea9de6c5d3c0f3669a822e4.png](https://img-blog.csdnimg.cn/img_convert/bf8b12ba1ea9de6c5d3c0f3669a822e4.png)
上面的是请求正确的结果,如果请求错误,比如填写一个系统数据库中 stu_name 没有的值,那么返回结果如下:
![381edb5f289e86a4addb955b1e1ad665.png](https://img-blog.csdnimg.cn/img_convert/381edb5f289e86a4addb955b1e1ad665.png)
二、登录(POST)
在登录接口中,接口文档中提供了一个测试用户,我们可以利用该用户来模拟测试。
![bc98ef8769c2307ef12079c840ad6ceb.png](https://img-blog.csdnimg.cn/img_convert/bc98ef8769c2307ef12079c840ad6ceb.png)
登录接口用到的是POST请求方式,入参 username 和 passwd 为必填项,我们再创建1个线程组,在线程组下添加一个HTTP请求和查看结果树,如下:
![ee8300a4ae971dd9cff7736f40f2ff70.png](https://img-blog.csdnimg.cn/img_convert/ee8300a4ae971dd9cff7736f40f2ff70.png)
![584095b7a52f7c0452fe46523cebbc81.png](https://img-blog.csdnimg.cn/img_convert/584095b7a52f7c0452fe46523cebbc81.png)
当我们填写的是错误的入参时,返回结果如下:
![6d130c05c0a0d9c2387e55b71bc7fe42.png](https://img-blog.csdnimg.cn/img_convert/6d130c05c0a0d9c2387e55b71bc7fe42.png)
三、添加学生信息
添加学生信息(POST请求,JSON类型)
在添加学生信息的接口中,用到的也是POST请求方式,但与登录接口不同的是,它的入参是JSON类型的,接口文档中有1个JSON请求示例,我们可以直接复制过来,简单修改一下即可。在这里,我们再创建1个线程组,在线程组下添加一个HTTP请求和查看结果树,如下:
![fdb59677c1af0198ab42b05c7955cacd.png](https://img-blog.csdnimg.cn/img_convert/fdb59677c1af0198ab42b05c7955cacd.png)
![76264397da5aafc0e045999f665b50e0.png](https://img-blog.csdnimg.cn/img_convert/76264397da5aafc0e045999f665b50e0.png)
在这里,由于这个学生信息已存在系统中了,因此返回添加失败的结果。所以,我需要添加1个新的学生信息,另外,这里需要调整下编码格式为utf-8,否则添加的学生信息会出现中文乱码。
![927d5f03b34761c81d6ea50bd6b29ae5.png](https://img-blog.csdnimg.cn/img_convert/927d5f03b34761c81d6ea50bd6b29ae5.png)
![56b3d93f0ee781a2f0f998677bb6eaef.png](https://img-blog.csdnimg.cn/img_convert/56b3d93f0ee781a2f0f998677bb6eaef.png)
在这里,大家可以设计不同的测试用例来进行测试,但操作方式都是一样的,只是返回结果不同而已。
四、学生充值金币
学生充值金币(POST请求,添加cookie)
这个接口有权限验证,需要admin用户登录成功后才可以进行充值,另外,在入参 stu_id 和 gold 中,我们发现 stu_id 指的是学生ID,这里其实就是最开始 获取学生信息 接口返回结果中的id字段,如下:
![6464f8a58bbd662ae3a66977d841df9e.png](https://img-blog.csdnimg.cn/img_convert/6464f8a58bbd662ae3a66977d841df9e.png)
因此,我们创建一个线程组,在线程组下依次添加登录请求、学生充值金币请求、查看结果树,在登录请求下添加JSON提取器,用于提取cookie,在学生充值金币请求下添加HTTP Cookie管理器,如下:
![099afe6b9396df0083dd849760e5b83e.png](https://img-blog.csdnimg.cn/img_convert/099afe6b9396df0083dd849760e5b83e.png)
![8f1fc37d47a5fd513bf88b91a5a8ca38.png](https://img-blog.csdnimg.cn/img_convert/8f1fc37d47a5fd513bf88b91a5a8ca38.png)
![8e3e9c7afae07521f4fc7bf9671d9ee6.png](https://img-blog.csdnimg.cn/img_convert/8e3e9c7afae07521f4fc7bf9671d9ee6.png)
![8724847913cda779e6f9b408ec1f6162.png](https://img-blog.csdnimg.cn/img_convert/8724847913cda779e6f9b408ec1f6162.png)
![f505d9456f2bdbb475712c213898bf68.png](https://img-blog.csdnimg.cn/img_convert/f505d9456f2bdbb475712c213898bf68.png)
![71a7b97a484b032411bdb1b97da48fbb.png](https://img-blog.csdnimg.cn/img_convert/71a7b97a484b032411bdb1b97da48fbb.png)
在JSON提取器中,我们通过 $.login_info.sign 来提取登录的cookie,并在HTTP Cookie管理器中进行引用,如果没有关联cookie,那么将充值失败,提示未登录。
![e66be78dc63411678edaacb163fa3077.png](https://img-blog.csdnimg.cn/img_convert/e66be78dc63411678edaacb163fa3077.png)
五、获取所有学生信息
获取所有学生信息(GET请求,添加header)
从接口文档中,我们了解到,要获取所有学生信息,需要添加请求信息头,因此,我们创建一个线程组,在线程组下依次添加HTTP信息头管理器、HTTP请求、查看结果树,如下:
![3fb3cbaf6b415a12530ac7a782684643.png](https://img-blog.csdnimg.cn/img_convert/3fb3cbaf6b415a12530ac7a782684643.png)
![9b1dc4ed2372fd1797548917e6c65f2b.png](https://img-blog.csdnimg.cn/img_convert/9b1dc4ed2372fd1797548917e6c65f2b.png)
![2c512b41683af0af5631a050aff7dc8f.png](https://img-blog.csdnimg.cn/img_convert/2c512b41683af0af5631a050aff7dc8f.png)
这里需要说一下,我们在返回的结果中看到,有些学生信息中有很多“???”,这是因为在添加学生信息的时候,我们传入中文数据导致乱码,因此在添加学生信息接口中,我特意说明让大家设置utf-8编码,这样添加的学生信息就不会出现乱码了。
六、文件上传(POST请求)
在上传文件接口中,需要注意的是这里的入参是file类型的,因此,我们需要准备一个待上传的文件。
![732f3c2a9a09426b24cbc636b9777ba9.png](https://img-blog.csdnimg.cn/img_convert/732f3c2a9a09426b24cbc636b9777ba9.png)
最后,我们创建一个线程组,在线程组下依次添加文件上传请求、查看结果树,如下:
![7447e7d88540fc16fb3d9925ba19ce58.png](https://img-blog.csdnimg.cn/img_convert/7447e7d88540fc16fb3d9925ba19ce58.png)
![aefd6fe6b176822b283834700f0396b8.png](https://img-blog.csdnimg.cn/img_convert/aefd6fe6b176822b283834700f0396b8.png)
OK,以上就是通过Jmeter对这个接口项目进行接口测试的过程,比较基础,适合新手用来练习操作Jmeter。
最后,通过本项目,可以看到,Jmeter上手起来挺快的,即使不懂代码的同学学会Jmeter的基本操作后,也可以很快进行接口测试实践。
![83d5a687f80b8b6623e9aa1f70041739.gif](https://img-blog.csdnimg.cn/img_convert/83d5a687f80b8b6623e9aa1f70041739.gif)
![83d5a687f80b8b6623e9aa1f70041739.gif](https://img-blog.csdnimg.cn/img_convert/83d5a687f80b8b6623e9aa1f70041739.gif)
链接:
https://www.cnblogs.com/wintest/p/11185898.html#4300224
本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删除
推荐阅读点击阅读☞如何用Jmeter操作数据库?想一百次都不如跟着操作一次!
点击阅读☞使用JMeter时如何将指定数据写入Excel表格中?
点击阅读☞如何掌握Jmeter相关操作?前提是你一定要会参数化!
点击阅读☞不是说想学Jmeter多接口指定TPS同时并发吗?机会来了!
点击阅读☞话不多说,我只想尽快学会用Jmeter编写TCP测试脚本!
![8a08a8e6fedc981d62180465ef021b87.gif](https://img-blog.csdnimg.cn/img_convert/8a08a8e6fedc981d62180465ef021b87.gif)