API测试
API基础介绍
1Web Service
Web Service通常使安全用XML(可扩展标记语言),这意味着其比json更
Web Service是 WebAPI的子集,其仅包含 SOAP、REST和XML-REC
Web Service需要使用网络才能操作。
2. Web API
WebAPI通常使用 JSON(JavaScript Objeet Notation)格式传输数据。
Web API是 Web Services 的超集。除了前面提到的三种类型,如JSON-RPC。
Web APL不一定需要网络操作。
介绍Web Services
客户端、Web 服务端和执行操作的网络。
操作是指客户端-Web 服务端体系结构中的请求和响应。
客户端是请求 WebServices 的所有应用程序或软件系统的集合,是服务消费者;
Web 服务端是提供 WetServices 的所有应用程序或软件系统的集合,是服务提供者。
Web Services 的重要元素
(1)SOAP
Web Services 使用简单对象访问协议(Simple Object Access Protocol,SOAP),该协议使用 XML 作为报文格式。SOAP 是有状态的协议,所有请求和响应都是通过 XML 同时进行的,没有像 REST 服务那样显式地提供 GET、PUT、POST 或 DELETE 等方法。
(2)WSDL
SOAP 请求会使用 Web Services 描述语言( Web Service DescriptionLanguage, WSDL)。WSDL 是 Web Services 的一个非常重要的元素。它定义了特定请求选择所使用的 WebServices 类型,并且使用 XML 格式的文件描述 Web Services 提供的功能。
UDDI(Universal Description Discovery and Integration)也是非常有用的元素,因为 Web服务端是提供 Web Services 的服务提供者,对于服务提供者来说,UDDI 可用来发现、描述和发布 Web Services。UDDI负责让客户端査找(UDDI为 WSDL 提供了一个存储库)WSDL 的 XML 文件位置,这个 XML 文件也是 Web Services 的定义和描述方式。
Web Services 主要包括2种类型:REST 服务和 SOAP 服务
(1)REST服务
REST(Representational State Transfer)是一种无状态服务。
- GET:此方法用来检索使用 PUT 或 POST 等任何方法发送到 Web 服务端的信息。此方法没有请求主体,执行成功后会得到响应状态码 200。
- POST:此方法用于请求主体、指定 URL、文档键、上下文键等创建文档或记录到 Web 服务端,使用 GET 方法来检索 POST 到 Web 服务端的内容,执行成功后会得到响应状态码 201。
- PUT:此方法用于更新已存在于 Web 服务端的文档或记录,执行成功后会得到响应状态码 200 或 201。
- DELETE: 此方法用于删除在 Web 服务端的任何记录,执行成功后将会得到响应状态码 204(没有内容)。
(2)SOAP服务
SOAP 服务是指简单对象访问协议,其是使用 XML 语言的有状态服务。SOAP:
- SOAP头和正文
- 用来发送 SOAP消息的协议
- 服务提供者(Publish()):提供 Web 服务的所有软件系统或应用程序。
- 服务消费者(Find()):请求 Web 服务的所有软件系统或应用程序。
- 服务注册(Bind()):由服务提供者提供有关 Web 服务的所有信息的注册表或存储库
- Publish(),服务提供者在服务注册中心或存储库中提供关于 Web 服务的所有细节;
- Find(),服务请求内容主要是客户端应用程序从存储库(有时是 WSDL、XML 文件)查找关于 Web 服务的详细信息: 第三个阶段是 Bind(),客户端应用程序或服务消费者与服务提供者同步,以达成 Web 服务的最终实现。
3.SOAP 服务与 REST 服务的不同之处
- SOAP 服务比 REST 服务慢。使用 XML 数据格式使 SOAP 服务在请求处理时花费了更多的时间,而 REST 服务使用轻量级的 JSON 格式,效率更高。
- 通常 SOAP 服务比 REST 服务更安全,虽然 SOAP 服务和 REST 服务都可以使用SSL 加密,但是除了 SSL,SOAP 服务还提供 WSS 加密。
- SOAP 服务没有任何内建方法,而 REST 服务有 GET、PUT、POST 和 DELETE
- SOAP 服务是有状态的,而 REST 服务是无状态的。
- 在 SOAP 服务中,请求和响应主体只支持 XM 数据格式;而在 REST 服务中,请求和响应主体支持许多数据格式,如JSON、XML、纯文本等。
在项目中如何进行API测试
基于 API 的应用程序在这几年流行的原因如下。
首先,与传统应用程序/软件相比,基于 AP1的应用程序具有更好的可伸缩性,代码开发速度更快,而相同的 API 不需要进行任何主要代码或基础设施重改就可以服务更多的请求。
其次,开发团队不需要在每次开发特性或应用程序时都从头开始编码。
再次,API支持的独立应用程序或基于 APL的软件产品都可以轻松与其他系统集成。
最后,通过 API 可以实现系统与系统,以及系统内部的解耦,降低系统的代码维护成本,正是基于 API 的优势。
2002 年,亚马逊创始人杰夫·贝索斯向员工下达了“API宣言”
- 所有团队将通过服务接口公开他们的数据与功能。
- 团队之间必须通过这些接口通信。
- 其他形式的进程通信都是不被允许的,如不允许直接链接、不允许直接读取另一团队的数据储存、不允许共享内存模型、不允许设立任何“后门”。通过网络服务接口调用是唯一允许的通信方式。
- 使用什么技术并不重要。无论是 HTTP、CORBA、PubSub,还是自定义协议,都不重要。
- 所有服务接口,无一例外,都必须从头到尾地使用可外部化的设计,团队必须计划和设计能提供给外部开发人员使用的公开接口。任何违反指令的人都将被解雇。
- 谢谢你,祝你有美好的一天!
API 测试类型
·功能
·性能
·安全
两个阶段
·工具选型
·收集需求和识别约束
·评估可用工具
·PoC
·具体实施
·启动准备
·正式启动
·CICD
后面内容,我认为使用价值不大,忽略