我们在应用程序中遇到了一个问题,有时由于缺少请求数据或API合约不匹配,导致应用程序中的特定流程中断。
我们一直在使用Nightwatch Js进行端到端流测试。
所以我的问题陈述如下:
我们需要一种方法来检查从应用程序进行的服务调用是否具有从API成功检索数据所需的数据。
因此,每个服务调用都会有一个配置(该特定服务调用所需的请求数据结构与预期响应相同),以及何时结束结束流测试(浏览器自动测试)正在进行中,将使用前面提到的配置检查每个指定的网络调用,以确定其成功或失败,并且原因是存在任何不匹配或缺少数据的原因朋友。
此外,它应该以适当的方式在文件中报告它。如果 我们可以在Nightwatch本身中以任何方式完成此操作 ,或者此特定用例有任何框架,那将是非常不错的选择>。
答案 0 :(得分:0)
Nightwatch作为硒驱动程序不适合测试API调用。 我建议将Frisby.js与Nightwatch结合使用。由于它被设计为API测试框架。您可以定义期望的请求和期望的响应格式。
frisby.get('http://jsonplaceholder.typicode.com/posts')
.expect('status', 200)
.expect('jsonTypes', '*', {
userId: Joi.number(),
id: Joi.number(),
title: Joi.string(),
body: Joi.string()
})
...
frisby
.post('http://api.example.com/files', { title: "foo", body: "bar" })
.expect('status', 200)
它支持HTTP get,post,put和del方法。