1、什么是接口测试?
接口测试本身是忽略了前端,直接与服务端来进行测试的一个过程。接口测试是为系统提供数据服务的,所有前端页面展示的数据基本上都是基于接口获取的。
2、接口测试过程:
前端下发一个请求----->服务端接收----->基于请求的URL进入到指定的接口----->接口进行数据的解析与运算----->生成响应结果----->原路返回至前端----->前端渲染展示在UI层中
3、HTTP组成:url+请求方式+报文
(1)url:请求协议、IP、端口、接口地址、接口参数、参数值
例:
(2)最常用的请求方式:
get:get请求的所有参数都在URL后明文显示。主要用于查询和展示相关的功能。
post:请求的参数在请求体中,不会明文显示。主要用于提交和更新的相关功能。
4、最常见的响应状态码:
1xx:指示信息--表示请求已接受,继续处理;
2xx:成功--表示请求已被成功接收、理解、接受;
3xx:重定向--要完成请求必须进行更进一步的操作;
4xx:客户端错误--请求有语法错误或请求无法实现;
5xx:服务器端错误--服务器未能实现合法的请求。
5、简单的demo,基于python+requests代码测试
import requests #引入requests
#请求数据的准备
url='https://api.thecatapi.com/v1/votes' #测试接口
data={
'image_id':'asf2',
'sub_id':'my-user-1234',
'value':1
}
headers = {
'content-type': "application/json",
'x-api-key': "DEMO-API-KEY"
}
#模拟请求的下发,并接收响应
res=requests.post(url=url,json=data,headers=headers)
#解析响应结果,判断本次接口的请求是否成功
print(res)
print(res.text)
#断言校验本次测试是否成功:将实际结果与预期结果进行对比,校验本次的测试是否正确
message = 'SUCCESS'
print('本次测试输出message:'+res.json()['message'])
assert message==res.json()['message'],'断言失败' #校验测试结果中输出message是否与预期一致,不一致报错
运行结果以及断言: