Postman 是个强大的接口调用工具。本文来介绍下如何用 Postman 来测试 WebService 接口的方法。
什么是 WebService 呢?
WebService 是一种基于网络的技术,它允许不同的应用程序在互联网上相互通信。具体来说,WebService 是一种基于标准化协议和格式的应用程序接口(API),它使用 XML 和 HTTP 来进行通信。WebService 可以用于在不同的平台和编程语言之间传输数据,从而使应用程序之间的集成更加容易。例如,一个运行在 Java 平台上的应用程序可以通过 WebService 接口向一个运行在.NET 平台上的应用程序发送请求,并接收响应。
简而言之, WebSocket 定义了一套传输数据格式的规范,通信协议还是用的 HTTP。因此,调用 WebService 接口 本质还是调用 HTTP 接口,只要把参数按规范传对即可。
获取接口描述文件:WSDL
WSDL 说 WebService 的接口描述文件。具体来说:
WSDL是 Web 服务描述语言(Web Services Description Language)的缩写。它是一种基于XML的语言,用于描述Web服务的接口、方法和数据类型。WSDL文件通常包含一个或多个服务定义,每个服务定义描述了一个或多个相关的操作,以及它们接受和返回的消息的格式。WSDL文件还可以描述Web服务的地址、协议和传输机制等信息。使用WSDL文件,开发人员可以明确了解Web服务的接口和方法,以便在不同的平台和编程语言之间进行通信和集成。
一般来说,获取接口描述文件可以通过访问 WebService地址?WSDL
。比如:http://localhost:8082/web/services/weater?WSDL
。响应的内容类似这样:
其中:
- tagetNamespace 用于指定包含该 WSDL 的 XML 命名空间的 URL。它定义了 WSDL 中包含的所有类型、元素和消息的全局唯一命名空间。 xfire.sap.webservice.wms 中的 xfire是webservice的一个实现框架。
- <xsd:element name="saveDataInfo"> 中 name 属性值为请求名称和请求方法。接口允许多个方法。本次请求方法名称: saveDataInfo。
- 标签中 xsd:complexType name="in0",允许有多个参数。本次请求参数名称: in0。
在 Postman 中调用 WebService
1 创建请求
填入 WebService 地址。
2 添加 Headers
需要添加两个 Headers: Conten-Type=text/xml 和 Accept-Charset=charset=urf-8。
3 设置 Body 内容
设置 Body 的格式为 raw,格式内容为 XML(text/xml) 。
Body 的内容格式要符合之前获取的 WSDL 的定义。
4 发送请求
点 Send 按钮发送请求,可以看到接口的返回。
以上,就是用 Postman 来测试 WebService 接口的方法。
前面我们讲解了 Postman WebSocket 接口测试,有兴趣的小伙伴可以了解下:Postman WebSocket 接口测试
比 Postman 更好用的 API 工具:Apifox
我们学习了在 Postman 进行 WebService 接口测试,虽然 Postman 被广泛用于 API 调试,但它只解决了 Web 开发中 API 管理这个大难题的一小部分。更多的问题还有待解决,比如在多个工具之间频繁切换(API 设计工具 Swagger、API 测试工具 JMeter)经常会导致数据不一致和团队协作低效率:
前端开发者: 前端开发者通常必须根据 API 定义编写脚本从而 mock 数据。在使用 Postman 时,他(她)们可能无法判断 API 设计是否已被更改,这会增加调用实际 API 时的失败率。
后端开发者: 后端开发人员通常希望设计 API 并进行代码变更,且无需在不同工具之间切换。Postman 只解决了 API 调试方面的问题,并没有解决跨工具数据不一致的更大问题,导致了重复工作。
测试人员: 测试人员经常使用 JMeter 等工具进行 APi 测试,必须将 API 信息从 Postman 复制到 JMeter 中。如果开发人员中途修改了 API 定义,测试人员可能不知道,从而导致测试过程出错。
问题来了 ,是否有一个平台可以让前端、后端和测试人员在 API 项目上高效地协同工作呢?
有的,那就是:Apifox。Apifox 是一体化 API 协作平台,可以实现 API 文档、API 调试、API Mock、 API 自动化测试,是更先进的 API 设计/开发/测试工具。Apifox 提供了一种全面的 API 管理解决方案。使用 Apifox ,你可以在一个统一的平台上设计、调试、测试以及协作你的 API, 简化了你的 API 工作流,并确保了前端、后端和测试人员之间的高效协作。
Apifox 与 Postman 的对比
Apifox | Postman |
---|---|
Apifox 是一个基于云的平台,允许开发人员从任何位置访问并测试其 API,无需在计算机上安装任何软件。当然 Apifox 也为主流操作系统提供了客户端版本。 | Postman 是一个必须安装在计算机上的独立应用程序,这可能限制了要从多个位置工作的开发人员的可访问性。 |
Apifox 提供了一个视觉上吸引人且易于使用的界面,使开发人员能够轻松调试接口和生成文档。 | Postman 具有更复杂的界面,需要以代码为重点,这可能提高了部分开发者的使用门槛。 |
Apifox 还提供了协作功能和团队管理,允许开发人员和他人共享测试和接口文档,并共同处理项目。 | Postman 可能会消耗大量资源,尤其是在处理大量数据集时可能会减慢计算机的速度,这可能会对需要运行多个测试或者使用大型 API 集合的开发人员造成挑战。 |
Apifox 提供了无限的自定义选项配置,并且更加灵活。 | Postman 提供了比较有限的自定义选项,例如自定义外部变量,响应头 Header 以及脚本。 |
与 Postman 相比,Apifox 解决了在多个工具间频繁切导致的数据不一致问题,让一个 Apifox 即可完成 API 文档、API 调试、API Mock、API 自动化测试等工作。
Apifox 还提供了更易于使用的可视化界面,使开发人员能够轻松调试接口和生成文档,使得开发人员和他人可以方便地共享测试和接口文档,共同处理项目。
与只支持有限自定义配置项的 Postman 对比,Apifox 提供了无限的自定义选项配置,更加灵活。对于那些想要使用新工具去提升开发水平的团队来说,Apifox 一定是个明智之选。
知识扩展: