-
引言
-
什么是 Web Services
-
Web Services 构成及调用原理
-
Web Services 接口和 API(应用程序接口)的区别
-
Web Services 接口实战
-
1.suds - SOAP 客户端
-
2.Zeep - SOAP 客户端
-
3.Zeep 和 suds 的比较
-
-
总结
引言
之前分享过很多篇基于 HTTP 请求的 API 和 UI 自动化测试的文章。
实际上,接口有很多形式,除了我们常见的 HTTP 形式的 RESTFUL 接口外,还有 Web Services 类型的接口,以及 RPC 接口。不同类型的接口测试方式各有不同。
今天分享的主题是:如何测试 Web Services 类型的接口。
什么是 Web Services
Web Service 是一种跨编程语言和跨操作系统平台的远程调用技术。
通俗地讲,Web Service 就是一个应用程序,它通过向外界暴露一个能够通过 Web 进行调用的 API 来对外提供服务。WebService 可以跨编程语言和跨操作系统,即你的客户端程序和提供服务的服务端程序可以采用不同的编程语言,使用不同的操作系统。
例如:通过 WebServices,你运行在 windows 平台上的、以 C++ 编写的客户端程序就可以和运行在 Linux 平台上的,以 Java 编写的服务器程序进行通信。
Web Services 构成及调用原理
Web Service 平台的构成,依赖以下技术:
-
UDDI:意为统一描述、发现和集成(Universal Description, Discovery, and Integration),它是一种目录服务,通过它企业可注册并搜索 Web services,它是基于 XML 的跨平台描述规范。
-
SOAP:是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息。
-
WSDL:是基于 XML 的,用于描述 Web Services,以及如何访问 Web Services 的语言。
Web Services 的调用原理如下:
Step 1:客户端想调用一个服务,但不知道去哪调用,因此它向 UDDI 注册中心发起询问。
Step 2:UDDI 注册中心,通过一番搜索,发现有个叫 Web Service A的小伙子可以提供客户端想要的服务。
Step 3:客户端向 Web Service A 发送消息,询问该如何调用它提供的服务。
Step 4:Web Service A 收到请求,发送给客户端一个 WSDL 文件。这里记录了 Web Service A 可以提供的各类方法接口。
Step 5:客户端通过 WSDL 生成 SOAP 请求(将 Web Service 提供的 xml 格式的接口方法,采用 SOAP 协议封装成 HTTP 请求),发送给 Web Service A,调用它想要的服务。
Step 6:Web Service A 按照 SOAP 请求执行相应的服务,并将结果返回给客户端。
Web Services 接口和 API(应用程序接口)的区别
Web Services 接口和我们常用的 API(应用程序接口)有哪些区别呢?下面的表格展示了它们的区别:
在我们的日常工作中&#x