REST API 测试教程 – 示例手动测试用例
什么是 REST API 测试?
REST API 测试是一种开源的网络自动化测试技术,用于测试 Web 应用程序的 RESTful API。REST API 测试的目的是通过发送各种 HTTP/S 请求来记录 REST API 的响应,以检查 REST API 是否正常工作。REST API 测试通过 GET、POST、PUT 和 DELETE 方法进行。
REST 代表表述性状态转移(Representational State Transfer)。它是一种在开发Web 服务中使用的架构风格和通信方法。REST 已成为构建 API 的逻辑选择。它使用户能够高效地连接和与云服务进行交互。
API 或应用程序编程接口是一组用于访问基于 Web 的软件应用程序的编程指令。换句话说,它是一组由单个程序用于直接相互通信并使用彼此功能以获取信息的命令。例如,Google 网站可以为搜索、翻译、日历等各种功能提供 API。
通常,API 如下所示,它们具有服务器名称、路径等
http://<server name>/v1/export/Publisher/Standard_Publisher_Report?format=csv
API 方法类型
API 测试方法主要有四种:GET、POST、DELETE 和 PUT。
- GET – GET 方法用于使用给定 URI 从给定服务器提取信息。使用 GET 请求时,它应该只提取数据,并且不应对数据产生其他影响。
- POST – POST 请求用于创建新实体。它也可以用于通过 HTML 表单将数据发送到服务器,例如客户信息、文件上传等。
- PUT – 创建新实体或更新现有实体。
- DELETE – 删除由 URI 给定的目标资源的所有当前表示。
如何测试 REST API
API 测试需要一个应用程序来与示例 API 进行交互以进行测试。要测试 API,您需要两样东西:
- 驱动 API 的测试工具/框架
- 编写自己的代码来测试示例 REST API
REST API 测试用例可以使用以下工具进行测试:
- 高级 REST 客户端
- Postman-REST 客户端
- Linux 中的 Curl
在这里我们将使用 Advanced Rest Client,下面是获取 Advanced Rest Client 的步骤:
如何获取 Advanced Rest Client?
- 前往 Google Chrome 网上应用店
- 搜索“Advanced Rest Client”或直接点击此处并安装扩展程序
- 在 Chrome 应用程序部分(chrome://apps/)下选择“Advanced Rest Client”图标。
安装完成后,按照以下测试步骤测试 RESTful API
REST API 测试步骤
这里我们使用 Chrome 浏览器中的 REST 客户端扩展。为了更清楚地理解,我们使用虚拟 API 进行测试。”
http://ip.jsontest.com/
步骤 1) 打开 Advanced REST client
成功安装后,启动 Advanced REST client (ARC) 应用程序。
步骤 2) 输入要测试的 API URL
在 URL 文本框中输入用于测试的示例 REST API URL。
步骤 3) 选择 HTTP 方法
选择要请求的 API 测试中 HTTP 方法的类型 - 例如 POST。
步骤 4) 提供请求头集合
在 Headers 文本框中提供 Headers Set。点击 Insert header set。
步骤 5) 确认请求头集合
接下来点击“USE THIS SET”。
步骤 6) 提供所需的主体内容
- 现在切换到“Body”选项卡。
- 设置所需的主体内容类型和编辑器视图,例如:主体内容类型:application/json
- 编辑器视图:原始输入。
- 在 Payload 下,以键值对的形式传递用于测试的演示 API 的请求体,例如 {{“key1″:”value1″,”key2″:”value2”}。如果是 POST API,则需要传递主体或参数。我们将在给定的 Payload 下传递。
{"property" : ["Sites"], "report_type" : ["ALL"]}
步骤 7) 提交详情以开始测试
- 点击发送按钮。
- 您可以点击“DETAILS”按钮查看响应头。
以下是响应详情
验证结果
主要针对 Web API 测试,我们需要检查响应代码、响应消息和响应体。
以下是 API 测试中可能遇到的各种响应代码。
REST API 测试工具
API 测试面临的挑战
REST 服务测试中测试人员面临的有趣问题是:
- 确保测试工具以验证功能并揭示故障的方式改变 API 调用的参数。这包括探索边界条件和分配通用参数。
- 为具有两个或更多参数的调用创建有趣的参数值组合。
- 识别需要进行 API 调用的内容。这可能包括设置外部环境条件(外围设备、文件等)以及影响 API 的内部存储数据。
- 按照功能执行的顺序进行 API 调用。
- 让 API 从连续调用中产生有用的结果。
摘要
- API 或应用程序编程接口是一组用于访问基于 Web 的软件应用程序的编程指令。
- REST API 自动化测试主要涉及 GET、POST、DELETE 和 PUT 四种方法。
- 在 API 测试用例中,我们需要检查响应代码、响应消息和响应体。