python - Robot Framework - 由 IAM 保护的 AWS API 网关

标签 python amazon-web-services python-requests robotframework aws-api-gateway

背景

我一直在使用Robot FrameworkRequestsLibrary针对我通过 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/

相关文章:

python - 尝试按类抓取 HTML span 值,但返回错误

python - 如何仅使用普通 python 激活 google colab gpu

python - 为什么我不能将可选参数默认为成员变量?

Python Graphene 处理多对多关系

amazon-web-services - WS eb init 缺少等号错误

javascript - 如何存储单击按钮的次数?

python - 运行时错误与 Django on Amazon AWS EC2 Linux AMI 问题

python - 使用 Python 登录使用 OAuth 2.0 的网站

python - Django后台无限循环进程管理

Python 请求和持久 session