本次测试的是基于HTTP协议的接口,主要是经过Jmeter来完成接口测试,借此熟悉Jmeter的基本操做。php
本次实战,我是从网上找的接口测试项目,该项目提供了详细的接口文档,咱们能够经过学习接口文档来设计测试用例,最后再使用Jmeter进行实战。总的来讲,这个项目很适合用来练手,项目网址:http://doc.nnzhp.cn/index.php?s=/6&page_id=8数据库
全部设置以下:json
从接口文档中,咱们能够看到获取学生信息用到的是GET方式的请求,入参中 stu_name 为必填项,返回参数太多,在此就不详细说明了。咱们先建立一个线程组,在线程组下添加一个HTTP请求和察看结果树,以下:api
上面的是请求正确的结果,若是请求错误,好比填写一个系统数据库中 stu_name 没有的值,那么返回结果以下:cookie
在登陆接口中,接口文档中提供了一个测试用户,咱们能够利用该用户来模拟测试。post
登陆接口用到的是POST请求方式,入参 username 和 passwd 为必填项,咱们再建立1个线程组,在线程组下添加一个HTTP请求和察看结果树,以下:学习
当咱们填写的是错误的入参时,返回结果以下:测试
在添加学生信息的接口中,用到的也是POST请求方式,但与登陆接口不一样的是,它的入参是JSON类型的,接口文档中有1个JSON请求示例,咱们能够直接复制过来,简单修改一下便可。在这里,咱们再建立1个线程组,在线程组下添加一个HTTP请求和察看结果树,以下:编码
在这里,因为这个学生信息已存在系统中了,所以返回添加失败的结果。因此,我须要添加1个新的学生信息,另外,这里须要调整下编码格式为utf-8,不然添加的学生信息会出现中文乱码。线程
在这里,你们能够设计不一样的测试用例来进行测试,但操做方式都是同样的,只是返回结果不一样而已。
这个接口有权限验证,须要admin用户登陆成功后才能够进行充值,另外,在入参 stu_id 和 gold 中,咱们发现 stu_id 指的是学生ID,这里其实就是最开始 获取学生信息 接口返回结果中的id字段,以下:
所以,咱们建立一个线程组,在线程组下依次添加登陆请求、学生充值金币请求、察看结果树,在登陆请求下添加JSON提取器,用于提取cookie,在学生充值金币请求下添加HTTP Cookie管理器,以下:
在JSON提取器中,咱们经过 $.login_info.sign 来提取登陆的cookie,并在HTTP Cookie管理器中进行引用,若是没有关联cookie,那么将充值失败,提示未登陆。
从接口文档中,咱们了解到,要获取全部学生信息,须要添加请求信息头,所以,咱们建立一个线程组,在线程组下依次添加HTTP信息头管理器、HTTP请求、察看结果树,以下:
这里须要说一下,咱们在返回的结果中看到,有些学生信息中有不少“???”,这是由于在添加学生信息的时候,咱们传入中文数据致使乱码,所以在添加学生信息接口中,我特地说明让你们设置utf-8编码,这样添加的学生信息就不会出现乱码了。
在上传文件接口中,须要注意的是这里的入参是file类型的,所以,咱们须要准备一个待上传的文件。
最后,咱们建立一个线程组,在线程组下依次添加文件上传请求、察看结果树,以下:
OK,以上就是经过Jmeter对这个接口项目进行接口测试的过程,比较基础,适合新手用来练习操做Jmeter,另外,我发现还有另一个接口项目:抽奖项目api(http://doc.nnzhp.cn/index.php?s=/5&page_id=7),感受和本次测试项目差很少,你们有兴趣的能够尝试下,后续有时间的话,将考虑经过Python对本项目进行接口测试。
最后,经过本项目,能够看到,Jmeter上手起来挺快的,即便不懂代码的同窗学会Jmeter的基本操做后,也能够很快进行接口测试实践。