背景
我一直在使用Robot Framework和 RequestsLibrary针对我通过 AWS API Gateway 公开的 RESTful 端点编写自动化测试。所以我正在编写大致如下所示的测试:
*** Settings ***
Library Collections
Library RequestsLibrary
*** Test Cases ***
Get Requests
Create Session Sess https://<api-gateway-url>
${resp}= Get Request Sess /path/to/my/api?param=value
Should Be Equal As Strings ${resp.status_code} 200
Dictionary Should Contain Value ${resp.json()} someValueIwantToVerify
现在,我正在着手使用 IAM 保护这些 API 网关端点。因此请求需要是 sig4 signed .
使用这些服务的应用程序是用 javascript 编写的,并使用 aws-api-gateway-client签署请求。使用 AWS 签名授权类型在 Postman 中进行(手动)测试也非常简单。然而,我正在努力寻找机器人框架的策略。
问题
从最广泛的意义上来说,我想知道是否还有其他人在使用 Robot Framework 来测试 IAM 安全的 API 网关端点。如果是这样,你是如何实现的?
更具体地说:
- 是否有现有的 Robot Framework 库可以解决此用例?
- 如果没有,编写自己的库是我唯一的选择吗?
- 如果我在编写库 ( this looks promising ) 时遇到困难,我会定义什么类型的关键字以及如何使用它们?
最佳答案
我不知道有哪个 RF 库可以满足您的需求,但我的第一 react 是使用 Amazon 自己的 AWS SDK for Python (boto3),并围绕它编写一个精简的关键字包装库。我已经对使用 AWS S3 的测试用例执行了此操作,但 boto3 还支持 API 网关:http://boto3.readthedocs.io/en/latest/reference/services/apigateway.html
关于python - Robot Framework - 由 IAM 保护的 AWS API 网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46868702/