【问题标题】:How to make Robot Framework API tests environment independent?如何使 Robot Framework API 测试环境独立?
【发布时间】:2020-05-26 20:02:35
【问题描述】:

我正在开发一些Robot Framework API 测试。

最终目标是在我们的项目中添加一组测试,以便开发人员每次使用Jenkins 构建和部署项目时,测试都会自动运行以检查一切是否正常运行。

我想让测试检查它们部署在哪个环境(Dev 1、2、3/Test/Accept)并自动将其填充为变量。 例如,https://${VARIABLE}.companyname.com/service/api 在部署到开发服务器 1 时应该变成 https://portal-01.dev.companyname.com/service/api。 这样一来,就可以为所有内容设置一个测试集,而无需为每个环境维护一个测试集。

我们使用Consul 管理我们的服务并使用Ansible 进行部署,因此应该可以从那里或从Jenkins 获取标签来填充此变量。

有谁知道我如何获取这个标签并将这个变量放入Robot Framework

【问题讨论】:

  • 您可以使用 -v 选项从命令行提供变量:robot -v VARIABLE:portal-01.dev mytest.robot

标签: api jenkins robotframework consul robotframework-ide


【解决方案1】:

使用variable files,您可以将测试逻辑与所需的测试数据分开。这是首选方式,而不是将环境数据存储在与测试逻辑相同的文件中。

可以使用 Python 或 Java 类或通过 (yaml) 的纯文本动态生成信息。然后可以通过命令行将这些文件添加到您的测试运行中:

robot --variablefile myvariables.py mytest.robot
robot --variablefile myvariables.yaml mytest.robot

【讨论】:

    猜你喜欢
    • 2014-03-08
    • 2021-10-03
    • 2021-04-19
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 2017-09-20
    • 2018-06-21
    • 1970-01-01
    相关资源
    最近更新 更多