如何使用behave设置环境变量(Python BDD框架)?
我们的测试环境会根据我们正在进行的版本动态变化。
举个例子:
- 比如说,对于abc版本,测试环境的URL会是feature-abc.mycompany.com;而对于xyz版本,测试环境的URL则是feature-xyz.company.com,依此类推。
- 同样的情况也适用于预发布环境:release-abc.mycompany.com、release-xyz.mycompany.com等等。
- 而生产环境的URL是固定的:platform.mycompany.com。
所以,我需要指定我希望在哪个URL上运行我的测试,使用的是Python的behave BDD框架。
具体来说,我想要实现的功能是类似于Ruby中的cucumber,使用features/support/env.rb文件来定义多个URL(比如qa、staging、production等),这样在命令行(终端)中我只需要输入xyz(其中qa = feature(这个版本).mycompany.com)。
类似于这个问题:如何在Cucumber中测试不同的环境(例如开发|测试|生产)?
2 个回答
1
1
好的,关于这个问题,有一个拉取请求(PR #243),可以在behave的GitHub仓库中实现这个功能。
与此同时,他们建议我使用 os.getenv('variable_name', 'default_value')
作为临时解决办法,然后在命令行中我只需要输入 export variable_name='another_value' ; behave
。
想了解更多详细信息,可以查看我们的简短讨论: