本文共 2067 字,大约阅读时间需要 6 分钟。
接口及接口测试
接口的概念
接口(API,Application Programming Interface)是一些预先定义的功能,允许程序与软件或硬件进行交互,而无需深入了解其内部实现细节。简单来说,接口提供了一个标准化的接口,让开发者可以通过调用这些接口来获取信息或实现功能。
接口的特点
程序代码:接口通常以函数或方法的形式提供,允许程序调用。 屏蔽实现细节:接口隐藏了具体实现方式,开发者无需关心内部逻辑。 可访问性:接口提供了访问规则和地址,允许其他程序或系统进行调用。 接口的自述
功能:我有一些功能或接口。 无需了解细节:你无需关心我是如何实现的。 接口地址:我会提供一个地址,供你找到并按照规定的格式发送请求。 请求格式:你需要按照我的格式发送参数或数据。 响应:我会根据请求提供相应的信息或反馈。 接口举例
以西虹市公考报名为例:
- 接口名称:报名接口
- 接口地址:西虹市街口区带莫路3号
- 接口参数:姓名、身份证号码、专业、报考岗位
- 响应信息:是否报名成功
接口测试
接口测试是为了验证系统组件间接口的稳定性和可靠性,重点检查数据交换、传递和控制管理过程。
接口测试的意义
发现问题早:及早发现接口问题,降低后续测试成本。 降低依赖性:接口问题通常影响多个系统,测试可以帮助定位问题。 自动化支持:接口较稳定,适合自动化测试。 接口测试岗位
手工测试岗:提测接口,撰写测试用例。 服务端测试岗:审核接口实现逻辑,进行异常流测试。 测试开发岗:开发自动化用例和测试工具。 网络基础知识:IP、域名、DNS及端口
IP地址
IP地址是互联网中用于唯一标识网络和主机的逻辑地址。例如:
- 192.168.1.1:局域网内IP
- 172.16.254.1:私有IP地址
查看IP命令
- Windows:
ipconfig - Linux:
ifconfig - Python:可以使用
socket库检查IP是否有效。
端口
端口是设备与外界通信的出口,共65536个端口分为三类:
公认端口(0-1023):如HTTP(80)、FTP(21)。 注册端口(1024-49151):常见服务端口。 动态端口(49152-65535):用于非服务端口。 查看端口命令
- Windows:
netstat -ano - Linux:
netstat -ntlp
域名及DNS
域名是便于记忆的IP地址别名。例如:
- www.baidu.com 对应 IP地址 61.135.169.125。
DNS
DNS是域名与IP地址的映射系统,通过解析域名找到对应的IP地址。
OSI七层模型
OSI模型分为七层:
应用层:文件传输、电子邮件等。 表示层:数据格式化和加密。 会话层:建立和管理会话。 网络层:路由IP包。 传输层:TCP和UDP协议。 数据链路层:帧传输和错误检测。 物理层:数据在物理媒体上传输。 TCP与UDP
TCP:可靠、面向连接、双向通信。 UDP:无连接、尽最大努力交付,适合实时应用。 HTTP协议
HTTP是超文本传输协议,无状态协议,主要包括请求和响应。
请求
- 方法:如GET、POST、HEAD。
- URL:接口地址。
- 头部:包括Host、Content-Type、Cookie等。
- 参数:作为查询字符串或体部发送。
响应
- 状态码:如200 OK、404 Not Found。
- 头部:包括Content-Type、Content-Length等。
- 体部:响应数据,如JSON、XML等。
URL编码
- 参数:用
&分隔,非ASCII字符用%编码。 - 示例:
https://www.sojson.com/open/api/weather/json.shtml?city=北京编码后为https://www.sojson.com/open/api/weather/json.shtml?city=%E5%8C%97%E4%BA%AC。
请求方法
常见方法包括GET、POST、PUT、DELETE等,区别在于请求方式和数据传输方式。
请求数据类型
application/x-www-form-urlencoded:适用于表单数据。 application/json:常用于REST接口。 multipart/form-data:支持文件上传。 Base64编码
用于将非ASCII字符编码为ASCII,常用于HTTP传输。
cookie与session
cookie:客户端存储的信息,用于辨别用户。 session:服务器生成的唯一ID,用于跟踪用户会话。 安全策略
Session/Cookie:登录后访问接口。 固定appid:生成唯一ID,适用于公开接口。 动态token:临时生成令牌,提升安全性。 OAuth:开放授权协议,适用于第三方应用。 数字签名:加密请求参数,防止篡改。 缓存
HTTP缓存机制优化性能,但需注意清理和有效期。
最后
希望这些内容能帮助您更好地理解接口及相关技术。如果需要进一步的资料或工具推荐,可以随时联系!
转载地址:http://knlfk.baihongyu.com/