什么是REST接口测试?
REST API测试是一种开源的Web自动化测试技术,用于测试Web应用的RESTful API。REST接口测试的目的是通过GET、POST、PUT、DELETE等方法进行测试。
REST是Web服务开发中使用的一种体系结构风格和通信方法。REST已经成为构建API的合乎逻辑的选择,它使用户能够高效地连接和互动云服务。
API或应用程序编程接口是用于访问基于Web的软件应用程序的一组编程指令。
换句话说,单个程序用来彼此直接通信并使用彼此的函数来获取信息的一组命令。
例如,百度网站可以有各种功能的API,如搜索、翻译、日历等。
一般而言,API如下所示,有服务器名称、路径等
http://<server name>/v1/export/Publisher/Standard_Publisher_Report?format=csv
API测试方式主要有4种:GET、POST、DELETE、PUT。
-
Get-Get方法用于使用给定的URI从给定的服务器提取信息。当使用GET求时,它应该只提取数据,并且不应该对数据有其他影响。
-
POST-POST求用于创建新实体。它还可以用于使用HTML表单将数据发送到服务器。
-
放置(PUT)-创建新图元或更新现有图元。
-
删除-删除URI提供的目标资源的所有当前表示形式。
在这篇REST API测试教程中,将了解-
- 什么是REST接口?
- 如何测试REST接口
- REST接口测试步骤
- 验证结果
- REST接口测试工具
- API测试面临的挑战
如何测试REST接口
API测试需要应用程序与示例API进行交互以进行测试。要测试API,需要两件事,
- 驱动API的测试工具/框架
- 写下自己的代码来测试样例REST接口
REST接口测试用例可以使用如下工具进行测试:
- 高级REST客户端
- REST客户端
- Linux中的CURL
这里我们将使用高级REST客户端,下面是获取高级REST客户端的步骤,
如何获取高级REST客户端
* 转到Google Chrome的网络商店
* 搜索“高级REST客户端”或直接转到此处安装扩展
- 在Chrome的APP部分-Chrome://APPS/下选择“高级REST客户端”图标
安装完成后,执行以下测试以测试REST风格的API
REST接口测试步骤
这里我们使用的是Chrome浏览器中的REST客户端扩展。为了清楚地理解,我们使用的是虚拟API进行测试。“
http://ip.jsontest.com/
步骤1) 打开高级REST客户端
启动应用程序高级REST客户端(弧),一旦成功安装。
Step2) 输入需要测试的接口URL
在URL文本框中输入要测试的示例RESTAPI URL。
步骤3) 选择HTTP方法
选择API测试中要命中的HTTP方法类型的方法-例如POST
步骤4) 提供Headers
在“Headers”文本框中提供Headers 。单击Insert Header Set(插入Header集)。
步骤5) 确认Header设置
接下来,单击Use this set(使用此集合)。
步骤6) 提供所需的正文内容
- 现在切换到正文选项卡。
- 设置所需的正文内容类型和编辑器视图,例如正文内容类型:application/json
- 编辑器视图:原始输入。
- 在Payload下,以键值对的形式传递demo接口的求Body进行测试,例如我们会在给定的Payload下传递。
{"property" : ["Sites"], "report_type" : ["ALL"]}
步骤7) 提交详细信息开始测试
- 点击发送按钮。
- 可以单击Details按钮查看响应头。
以下是响应详细信息:
验证结果
对于Web API测试,我们主要需要检查响应代码、响应消息和响应正文。
下面是API测试时可能遇到的各种响应代码。
REST接口测试工具
- JMeter
API测试面临的挑战
对于测试人员来说,REST服务测试的问题是:
- 确保测试工具改变API调用的参数,从而验证功能并公开失败。包括边界条件的探索和公共参数的赋值
- 为具有两个或更多参数的调用创建有趣的参数值组合
- 标识必须在其下进行API调用的内容。这可能包括设置外部环境条件(外围设备、文件等)以及影响API的内部存储数据
- 根据函数的执行顺序对API调用进行排序
- 以使API从连续调用中产生有用的结果。
总结:
- API或应用程序编程接口是用于访问基于Web的软件应用程序的一组编程指令。
- REST接口自动化测试主要涉及GET、POST、DELETE、PUT 4种方法。
- API测试用例需要检查响应代码、响应消息和响应Body。