背景
今天睿哥给我布置了一个任务,叫我学习一下如何测试接口。
然后我就上网搜索去了解了一下,看看测试接口是什么。看了很久之后,我大概对接口测试有了一定的理解。
通俗来说,接口测试就是使用某种工具模拟客户端发送http请求到服务器,然后检查服务器的响应是否符合预期。
再概括简单点就是:发送请求获取响应。
为什么需要学习接口测试?
我记得当时睿哥吩咐我测试接口,我当时就漫无目的的进行测试,点点这个接口,点点那个接口,根本不知道自己在干什么。
后来睿哥对我说:“那个设备管理系统有100多个接口,不可能一个个的去测试的,不是说你测试了一个接口,然后发现有错,你就去改,那这样一点目的没有,有100多个接口,难道要一个一个改吗?测试接口是为了让你熟悉一下测试接口的流程,因为你到时肯定需要对某个接口进行修改,比如说对接口加一些代码进去。那写完代码之后,肯定需要对这个接口测试一下,看看你自己写的有没有什么问题,这个时候就需要你对测试接口的流程很熟悉才行。”
接口测试的四大关键
接口测试——http各种请求的含义
测试接口首先肯定需要对接口发送http请求。我在网上看到http请求其实有8种,但是好像就4种比较常用,分别是GET、POST 、PUT、DELETE。
GET请求
从服务器取回数据。只是取回数据,并不会产生其他影响。例如用GET请求访问/employee/101/张三,可以取回该员工的详细资料。
POST请求
创建一个实体,也就是一个没有ID的资源。一旦这个请求成功执行了,就会在HTTP请求的响应中返回这个新创建的实体的ID。我们通常用POST请求来上传文件或者表单。例如用POST请求访问/employee/102/李四,将会创建一个ID为102的新员工。
PUT请求
用来更新一个已有的实体。通过把已经存在的资源的ID和新的实体用PUT请求上传到服务器来更新资源。例如用PUT请求访问/employee/101/王五,可以更新员工101的信息
DELETE请求
从服务器上删除资源。需要把要删除的资源的ID上传给服务器。例如用DELETE请求访问/employee/101/王五,可以删除员工101的信息。
接口测试——接口路径URL
接口测试——接口输入
一般情况下,get是没有输入的,而post,get,delete这几个都会有输入。至于输入是什么,可以参考一下接口文档里面的请求参数,请求参数其实就是接口的输入。比如下面两幅图就是 post 请求的输入
接口测试——接口输出
假如你的接口地址填写正确,而且接口的输入对了,点击“send”后,接口就会进行输出。
OK!接下来就是接口测试的流程了。
接口测试的流程
1.启动项目(首先你要把代码跑起来吧,不然测啥)
首先要启动GatewayAdminApplication(这个是网关,必须要先启动),然后再启动AuthApplication(身份验证的功能),然后其他的服务你想跑哪个就运行哪个。一般是先跑三个。你启动完之后,你的设备管理系统在本地就已经跑起来了。
运行某个服务后,就会出现一个这个地址:
在这个地址后面补充doc.html,回车,就是关于这个服务的所有接口的文档,接口文档长这样:
这是关于这个接口文档的一些信息,通过这些信息,我们可以快速的了解某个接口,同时,也可以通过接口文档的信息来帮助使用postman测试接口。
通过接口文档知道了关于接口的一些信息后,我们打开postman这个测试工具,然后把接口文档提供的信息填到postman上,如图:
当然,这是上图最可观的情况,就是msg显示“处理成功”。有时候还会遇到这样的情况:
你也不知道哪里出错,这个时候就需要去IDEA看控制台的日志了,就像这样:
然后我就发现原来请求的类型搞错了,应该是post请求,我填了get请求。
修改请求之后变成了这样:
然后又再次查看控制台,看日志:
然后发现用户名称不能为空,我就写一下用户名称,然后继续测试,发现又不行。
继续查看控制台,看日志:
发现是这个错误,然后你就解决。解决完又有另一个错误,你又继续解决......多次下来,总会成功的。
这便是接口测试的完整流程。