Python接口自动化测试
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 接口的分类

根据系统调用方式可以将接口分为以下两类。

1.系统之间的接口

系统之间的接口如图2-2-1所示。我们用得最多的是第三方接口,比如要做一个系统来展示每天的天气,那天气数据是怎么得到的呢?不可能自己去预测天气,有免费的第三方接口可使用,只需按照接口协议调用想要的天气数据。当然,这是调用系统外部的数据。在系统内部也存在这种调用关系,道理类似。

图2-2-1 接口分类1

2.服务之间的接口

目前主流的系统架构如图2-2-2所示,即应用层、服务层和数据层。

图2-2-2 接口分类2

· 应用层:负责展示数据和发起数据请求。比如,12306购票网站上显示的票数、购买操作等。

· 服务层:为应用层提供数据处理。

· 数据层:用来存储数据,有关系型数据库等。

各层之间的调用过程是怎样的呢?例如,在12306网站上买票,首先用户需要选择票,然后通过单击“确定”按钮下单。用户下单就是调用了应用层的接口,假设叫“购买接口”,购买接口会去数据层的数据库中进行查询、新增购买记录等操作。成功完成后,会返回一个成功标志和其他信息。最后,应用层接收到这个接口返回的数据,将买票结果展现给用户。

在这个过程中,各层之间的交互就是通过接口。应用层和服务层之间是通过HTTP接口,服务层和数据层主要通过DAO(Data Access Object)访问数据。在第5章讲到用Python操作MySQL数据库时,使用的PyMySQL就是起这个作用的。