【问题标题】:How to setup environment variables with behave (Python BDD framework)?如何使用行为设置环境变量(Python BDD 框架)?
【发布时间】:2021-02-12 01:20:59
【问题描述】:

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

例如:

  • 对于 abc 版本,测试环境的 URL 是 feature-abc.mycompany.com,对于 xyz 版本,测试环境的 URL 是 feature-xyz.company.com 等等。
  • 暂存也是如此:release-abc.mycompany.com、release-xyz.mycompany.com 等。
  • Production 只是静态 URL:platform.mycompany.com

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

具体来说,我正在寻找 cucumber 对 Ruby 使用的等效功能: features/support/env.rb 文件来定义多个 URL(qa、staging、production 等),以便在命令行(终端)上我只想说 xyz(有 qa = feature(the release).mycompany.com

类似:How can I test different environments (e.g. development|test|production) in Cucumber?

【问题讨论】:

    标签: python cucumber bdd python-behave rubypython


    【解决方案1】:

    behave-1.2.5 引入了userdata 概念。

    behave -D BUILD_STAGE=develop …
    

    before_all()钩子中加载此阶段的相应配置。

    【讨论】:

    • 提供的链接已失效。
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 2020-04-05
      • 1970-01-01
      相关资源
      最近更新 更多