本教程介绍了有关使用 Java 代码自动化 IBM Systems Director 的 REST API 测试的基本步骤、技巧和窍门。
在开始之前
了解可从本教程中获得的预期内容,以及如何充分利用本教程。
关于本教程
IBM Systems Director 支持三种类型的接口:">图形用户界面 (GUI)、命令行界面 (CLI) 和使用 RESTful webservices 的应用程序编程接口 (API)。本教程侧重于测试 ISD REST API。REST 代表 Representational State Transfer。REST 风格的架构由客户端和服务器组成。Internet 上已经提供了很多有关 REST API 的信息,但本教程专门针对 IBM System Director 的 REST API 测试,并基于实时的实践经验提供疑难解答的技巧和窍门。
目标
本教程的主要目标是帮助在 IBM Systems Director 上工作的开发人员和测试人员使用 Java 自动化 REST API 测试。
先决条件
在继续之前,您应该已在您的系统上安装了 IBM Systems Director V6.x.x。本教程假设您已熟悉 IBM Systems Director 的使用。同样假设您对 REST API、Java、Eclipse IDE 和 JUnit 都有一定程度的了解。
系统要求
您的系统应该有以下组件:
安装在 Firefox 浏览器上的 Firefox Poster 加载组件
JUnit 4.x
已配置好的 IBM Systems Director
Eclipse
如何使用 Java 测试 IBM Systems Director 的 REST API
让我们开始吧
关于 REST API
REST 代表 Representational State Transfer。REST 风格的架构由客户端和服务器组成。IBM Systems Director 也提供一个基于 RESTFul webservices 的接口。IBM Systems Director 是一个基于 Web 的工具,并为 REST 提供大量支持。几乎所有通过 CLI 和 GUI 支持的功能也可以通过 REST API 支持。REST 使用 HTTP 协议。它支持以下 HTTP 方法:
POST:该方法用于创建一个新的资源。
PUT:该方法用于修改一个现有资源。
GET:该方法用于检索有关资源的信息。
DELETE:该方法用于删除资源。
REST 操作和返回代码的类型:
有两种类型的 REST 操作:
同步操作:
在这种操作类型中,在作业完成之前,REST API 调用一直保持阻塞。作业完成后,该操作类型将返回 HTTP 返回代码和响应(如适用)。这种操作类型的返回代码示例如下:
200: 请求成功。所有 GET 操作都返回 200。
204: 无内容
304: 无变更
异步操作:
在这种操作类型中,REST API 调用将启动一个作业,并提供返回代码和位置,使用户能够确定作业的状态。用户可以查询位置,或者使用基于 JMS 的侦听程序,直到操作完成。这种操作类型的返回代码示例如下:
201 CREATED: 资源已创建。所有 POST 操作都会返回 201。
202 ACCEPTED: 请求已接受,等待处理。部分 PUT 和 DELETE 操作会返回此代码。
3. 一些 HTTP 错误代码:
400:请求无效。请求可能不正确,或者请求中的数据格式不正确。
401:请求需要用户身份验证。
404:IBM Systems Director Server 没有找到任何结果可以匹配请求 URI 中的指定资源。
500:IBM Systems Director 遇到了一个意外情况,阻止它处理请求。
测试 REST API 的方法
手动(使用工具):使用一些外部 REST 客户端,如 Firefox Poster、http4e 等,并手动调用 REST API。我们在本教程中使用了 Poster。您可以使用自己喜欢的 REST 客户端。
自动:使用编程语言或脚本自动调用 REST API。本教程将介绍使用 Java 进行自动测试。您可以使用自己喜欢的任何其他语言或脚本。