问题:如何让Robot Framework API测试环境独立?

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

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

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

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

有谁知道我怎样才能得到这个标签并将这个变量放入Robot Framework中?

解答

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

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

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

CI/CD社区为您提供最前沿的新闻资讯和知识内容

更多推荐