HTTP接口测试
理解接口的含义
什么叫接口(Application Programming Interface,API)?
例:大家可能用过某旅游网查询机票的信息,但其实机票的信息并不是旅游网提供的,而是各大航空公司提供的。各大航空公司为旅游网提供了一个查询机票信息的接口,旅游网如果想要查询机票信息首先要找到这个接口,然后把想要查询的机票信息的请求通过这个接口传递给航空公司,再由航空公司把请求的资源反馈给旅游网。
在这里,可以把提供资源的一方称为服务端,把请求资源的一方称为客户端,而接口可以理解为服务端或服务端内的某个模块提供的一个可供他人调用其内部资源的入口。
HTTP接口的表现形式
大家每天都可能通过一个网址来打开一个网页,而接口其实就是一个网址(URL)。
例:以下这个这个网址(URL)就是豆瓣网音乐搜索模块对外提供的一个接口
https://api.douban.com/v2/music/search
可以看到,该URL包括3个部分,分别是采用的协议、服务器地址、请求资源路径。
(1)采用的协议(https):一般来讲网址中的第一个“:”前面就是该网址采用的协议,这里HTTPS就是一个协议。简单来说HTTPS是HTTP的安全版本,对传输的数据进行了加密和签名,以保证数据传输的安全性。
(2)服务器地址(//api.douban.com):以双斜杠“//”开头,后面跟的就是这个服务器的地址,专业术语叫域名。
(3)请求资源路径(/v2/music/search):表示你要请求的资源在该服务器下/v2/music/search的路径下。
所以把此URL(https://api.douban.com/v2/music/search)称为豆瓣网音乐搜索模块的一个接口,也称为接口地址。
为提供HTTP接口添加参数
虽然找到了服务的的接口地址,但具体要请求服务的的什么内容呢?还必须在这个接口上附加请求的参数以明确要请求的内容,如请求的内容是查询歌曲《漫步人生路》
URL如下
https://api.douban.com/v2/music/search?q=漫步人生路
只需要在接口地址后面加一个“?”,而“?”后面就是要附加的参数,“?”只是一个分隔符的作用。
这里附件的参数为q,参数值为“漫步人生路”。它的含义是去服务端的v2/music/search路径下查找歌曲名为“漫步人生路”的所有歌曲信息。
另外,在接口地址后面,还可以附加多个参数
https://api.douban.com/v2/music/search?q=漫步人生路&count=2
附加多个参数时用“&”符号将多个参数连接起来,count=2的意思值显示查询到前2组歌曲的信息。
对于这种参数等于参数值的表现形式,它有一个对应的术语叫“键位对应”,一个key对应一个value。
HTTP接口测试的实质
HTTP接口测试的实质就是数据的传输和接收,传输的时接口地址中的参数,接收的是文本字符串,然后对比文本字符串是否正确。