在AWS API Gateway上进行自动化测试

5

我希望能够自动化测试AWS API网关中的每个资源。目前我是手动操作(选择API,选择资源,点击测试,插入请求体中的数据)。 1. 我是否可以自动化这个过程?这样当我已经部署完成后,我就可以知道我的API和资源是否正常工作。 2. 在资源内部,我使用连接到DynamoDB的Lambda函数。例如,我创建了一个POST操作,用于向DynamoDB插入数据。是否有可能检查数据是否已经成功插入? 有人可以帮助我吗? 谢谢

2个回答

2
如果你希望使用与控制台相同的测试功能,则可以使用CLI和SDK中的API进行测试:http://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html
如果你只是想测试已部署的API,我建议使用Stages作为环境(如dev、gamma、prod)来建立部署工作流程。你可以将一个部署(API的一个快照)首先部署到dev stage。然后,你可以使用任何HTTP客户端/工具来在类似于JUnit的测试框架中测试实际部署的API。

谢谢Jack,我使用Jenkins进行部署。嗯...也许我需要准备一些测试调用方法的脚本,在部署过程中由Jenkins执行。好主意... - putra

2
  1. 我认为你最好使用Postman来测试你的API。

参见:使用Postman测试API

  1. 在进行资源POST之后,您不能调用GET测试吗?这也可以使用Postman完成。

祝好运!


是的,我总是手动使用Postman进行测试。在这种情况下,我想要像单元测试一样进行测试,这样我就可以期望输出等等。我不想使用Postman手动测试每个资源:)。顺便说一句,我很感激你的回答,谢谢伙计。 - putra
@putra 我的意思是使用Postman进行自动化测试:http://blog.getpostman.com/2014/03/07/writing-automated-tests-for-apis-using-postman/ - jfneis
你可以将Postman集合导出并使用Newman运行,在Jenkins中收集JUnit输出,如果这是你想要的。 - Aaron McMillin
我正在调查这个,因为我对AWS无服务器还一无所知,但我最近发现了Strest: https://github.com/eykrehbein/strest。在不得不手动编写Postman配置中的请求以允许可靠的链接测试(比我想象的更多的试错)之后,Strest的yaml配置看起来像是一个梦想。此外,您的测试与您的代码一起提交。 - Larry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接