我开始测试新项目,由于前端(UI)实现尚未准备好,开发人员将 API 服务发送给我进行测试。稳定功能后,我必须为功能编写自动化脚本
- 是否可以自动化 API 服务功能,以及如何实现?
- 或者我必须等到前端准备好,这样我才能定位元素并通过 UI 自动化。
- 您能否向我解释一下通过 WEB UI 实现自动化与通过自动化 API 实现自动化之间的区别
我开始测试新项目,由于前端(UI)实现尚未准备好,开发人员将 API 服务发送给我进行测试。稳定功能后,我必须为功能编写自动化脚本
在没有 UI 的情况下自动化 API 服务测试绝对是可能的,而且在许多情况下它实际上是首选。
是否可以自动化 API 服务功能,以及如何实现?或者我必须等到前端准备好,这样我才能定位元素并通过 UI 自动化。
您可以与前端 UI 分开测试 API。请记住,前端 UI 所做的只是向后端 API 发出请求。因此,您可以使用Assertible 之类的工具,而不是使用 UI 发出 API 请求,它允许您向API 发送 HTTP 请求并对响应做出断言。
在测试 API 时,您需要验证状态码(例如 200)和响应正文等内容,以确保您获得预期的响应。
基本上:
1) 发送 API 请求(例如,GET /users
)
2) 接收 API 响应(例如,[{id: user1}, {id: user2}]
)
3) 断言响应状态码等于200
。或者,断言2
用户是从 API 返回的。
您能否向我解释一下通过 WEB UI 实现自动化与通过自动化 API 实现自动化之间的区别
最大的区别就像我上面提到的:当您通过 Web UI 进行自动化测试时,您只是在使用 UI 发出 API 请求。要自行测试 API,您只需将请求直接发送到后端。
您可以使用许多不同的工具和服务来完成此任务。如果您想使用不需要太多代码的托管服务, Assertible和Postman都很棒。如果您想编写代码,您可以使用允许您发出 HTTP 请求的几乎所有语言/库。例如,在 JavaScript 中,Chakram和Frisby.js都是流行的选择。
希望这可以帮助!
作为旁注 - 与 UI 分开测试 API 有很多优势。也就是说,保持测试小而独立,这样测试就不会不稳定,并且可以很容易地追溯到根本原因。