Robot Framework的SQL-like DSL大数据测试库,用于Amazon AWS DynamoDB
项目描述
简介
DynamoDB SQL Library是一个针对Robot Framework的大数据测试库,它允许您使用类似SQL的DSL同时执行多个Amazon DynamoDB会话的扫描和查询操作。
它内部使用DynamoDB查询语言(DQL)来提供针对Amazon DynamoDB的类似SQL的DSL。
有关DQL查询的更多信息,请参阅DQL查询文档。
有关此库的更多信息,请参阅关键字文档。
示例
创建DynamoDB会话 |
us-west-2 |
label=oregon |
|
创建DynamoDB会话 |
ap-southeast-1 |
label=singapore |
|
创建DynamoDB会话 |
eu-central-1 |
label=frankfurt |
|
查询DynamoDB |
oregon |
创建表 mine (id STRING HASH KEY) |
|
查询DynamoDB |
singapore |
创建表 mine (id STRING HASH KEY) |
|
查询DynamoDB |
frankfurt |
创建表 mine (id STRING HASH KEY) |
|
DynamoDB表必须存在 |
oregon |
mine |
|
DynamoDB表必须存在 |
singapore |
mine |
|
DynamoDB表必须存在 |
frankfurt |
mine |
|
查询DynamoDB |
oregon |
INSERT INTO mine (id) VALUES ('oregon') |
|
查询DynamoDB |
singapore |
INSERT INTO mine (id) VALUES ('singapore') |
|
查询DynamoDB |
frankfurt |
INSERT INTO mine (id) VALUES ('frankfurt') |
|
@{oregon} = |
查询DynamoDB |
oregon |
SCAN mine |
@{singapore} = |
查询DynamoDB |
singapore |
SCAN mine |
@{frankfurt} = |
查询DynamoDB |
frankfurt |
SCAN mine |
列表和JSON字符串应该相等 |
${oregon} |
[{"id":"oregon"}] |
|
列表和JSON字符串应该相等 |
${singapore} |
[{"id":"singapore"}] |
|
列表和JSON字符串应该相等 |
${frankfurt} |
[{"id":"frankfurt"}] |
|
删除所有DynamoDB会话 |
配置和凭据文件
在默认位置设置配置文件
~/.aws/config(Linux/Mac)
%USERPROFILE%.aws\config(Windows)
[default]
region = us-east-1
在默认位置设置凭据文件
~/.aws/credentials(Linux/Mac)
%USERPROFILE%.aws\credentials(Windows)
[default]
aws_access_key_id = YOUR_KEY
aws_secret_access_key = YOUR_SECRET
[another_profile]
aws_access_key_id = ANOTHER_KEY
aws_secret_access_key = ANOTHER_SECRET
region = us-west-1
安装
使用pip
推荐的安装方法是使用pip
python -m pip install robotframework-dynamodbsqllibrary
使用pip的主要优点是它会自动安装库所需的所有依赖项。其他优点包括易于升级和支持卸载
python -m pip install --upgrade robotframework-dynamodbsqllibrary
python -m pip uninstall robotframework-dynamodbsqllibrary
注意,使用上述--upgrade
选项可以同时更新库及其所有依赖项到最新版本。如果您愿意,您还可以安装特定版本或仅升级库使用的dql包
python -m pip install robotframework-dynamodbsqllibrary==x.x.x
python -m pip install --upgrade dql
python -m pip install dql==x.x.x
代理配置
如果您位于代理后面,可以使用--proxy
命令行选项或设置http_proxy
和/或https_proxy
环境变量来配置pip使用它。如果您位于需要身份验证的NTLM代理后面,您可能需要考虑安装CNTML来处理与其通信。
有关--proxy
选项和使用pip通过代理的一般信息,请参阅
手动安装
如果您没有网络连接或无法使代理工作,则需要手动安装。这需要您自己安装库及其依赖项。
确保您已安装Robot Framework。
下载库及其依赖项的源分发(*.tar.gz)
下载已签名包的PGP签名(*.tar.gz.asc)
找到用于签名包的每个公钥
gpg --keyserver pgp.mit.edu --search-keys D1406DE7
从列表中选择数字以导入公钥
验证包与其PGP签名的一致性
gpg --verify robotframework-dynamodbsqllibrary-x.x.x.tar.gz.asc robotframework-dynamodbsqllibrary-x.x.x.tar.gz
将每个源分发提取到临时位置。
通过命令行转到每个创建的目录,并使用以下命令安装每个项目
python setup.py install
如果您是Windows用户,并且某些项目有可用的Windows安装程序,您可以使用它们代替源分发。只需根据您的系统下载32位或64位安装程序,双击它,然后按照说明操作。
目录布局
- doc/
- src/
Python源代码
- test/
测试文件
- atest/
Robot Framework验收测试
- utest/
Python单元测试
用法
要使用Robot Framework和DynamoDB SQL库编写测试,必须将DynamoDB SQL库导入到您的Robot测试套件中。有关更多信息,请参阅Robot Framework用户指南。
有关Robot Framework标准库和内置工具的更多信息,请参阅Robot Framework文档。
构建关键字文档
关键字文档可以在网上找到,如果您需要生成关键字文档,请运行
make doc
运行单元测试、验收测试和测试覆盖率报告
测试测试库,谈谈dogfooding,让我们运行
make test
贡献
如果您想向DynamoDB SQL库仓库贡献代码,可以通过GitHub通过派生仓库并发送拉取请求来这样做。
如果您不同意贡献协议,请不要向DynamoDB SQL库仓库贡献任何代码。
在提交代码时,请尽可能遵循现有的约定和风格,以使代码尽可能易于阅读。请还包括适当的测试用例。
就到这里!感谢您的贡献!
许可
版权(c)2014 - 2023 理查德·黄。
本库是免费软件,许可协议为:GNU Affero通用公共许可证(AGPL-3.0)。
文档和其他类似内容根据Creative Commons署名-非商业性-相同方式共享4.0国际许可协议提供。
项目详情
哈希 for robotframework-dynamodbsqllibrary-0.3.1.tar.gz
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cf03a400e32125185179877c87c66584293b2eab88ab2ef3fbedffb656010914 |
|
MD5 | f79af8214a588209b0e4af9cf2de87a1 |
|
BLAKE2b-256 | d6c7f1a77092b9df79e2780581d5f8d625dd0da04ed558f2fe6e5e35c09edc18 |
哈希 for robotframework_dynamodbsqllibrary-0.3.1-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3068546e222921c6bfab23df56149e53e03ab9742824eb86f71be05d3c09aaa7 |
|
MD5 | c79e761fe72a5ce7b894e10daff1cdbc |
|
BLAKE2b-256 | 95edbc59f950c98e80f8c5009f7b82fbc1857a774d0d90527593cdf3eb264c96 |