如何使用behavior设置环境变量(Python BDD框架)



因此,我们的测试环境会根据我们正在开发的版本而动态变化。

例如:

  • 对于abc发行版,测试环境的URL将是feature-abc.mycompany.com,对于xyz发行版,检测环境的URL为feature-xyz.company.com,依此类推
  • 同样的情况也适用于staging:release-abc.mycompany.com、release-xyz.mycompany等
  • 生产只是静态URL:platform.mycompany.com

话虽如此,我需要指定我希望在哪个URL上使用Python的behavior BDD框架执行测试。

具体来说,我正在寻找cucumber为Ruby提供的等效功能,使用:features/support/env.rb文件来定义多个URL(qa、staging、production等),这样在命令行(终端)上我只会说xyz(具有qa=feature(发布).mycompany.com

比如:我如何在Cucumber中测试不同的环境(例如开发|测试|生产)?

好的,因此有一个Pull Request(PR#243)可以在behavior的github repo中执行此操作。

与此同时,作为一种变通方法,他们建议我使用os.getenv('variable_name', 'default_value'),然后在命令行中,我只说export variable_name='another_value' ; behave

请在我们的短线程上查看更多详细信息:

https://github.com/behave/behave/issues/250

behavio-1.2.5引入了用户数据的概念。

behave -D BUILD_STAGE=develop …

before_all()挂钩中加载该阶段的相应配置。

最新更新