首页 > 解决方案 > 如何准备python代码以在不同环境下从命令行运行?

问题描述

如何使用环境参数运行 python(行为)代码?例如 environment=X 行为 --tags @regression

到目前为止我所拥有的是

@given(u'user is on the firts page')
def step_impl(context):
    context.first_page = FirstPage(context)
    context.first_page.goto(url_config.URL["X env"])

并作为 dict URL

URL = {
    "X env": "https://...",
    "Y env": "https://..."
    }

标签: python-3.xpython-behave

解决方案


您应该为此使用环境变量。管道脚本应包含以下命令来定义您要运行的环境:

export ENV=X_env

在您的测试脚本中,获取环境变量并使用它来获取适当的 url:

import os
    
@given(u'user is on the firts page')
def step_impl(context):
    context.first_page = FirstPage(context)
    execute_in_environment = os.environ.get("ENV")
    context.first_page.goto(url_config.URL[execute_in_environment])

请注意,读取环境变量 - 所以这一行:execute_in_environment = os.environ.get("ENV")通常在测试框架中的更高级别完成,以及其他配置内容。但是严格按照问题中共享的内容,我已将其添加到步骤实现中,这不是最佳实践。

如果您想先在 Windows 工作站上试用,请使用以下命令在 CMD 提示符中设置环境变量:

set ENV=X_env

因此,要针对特定​​环境运行测试,您将运行以下命令(这是一个 Linux 示例):

export ENV=X_env
behave --tags @regression

推荐阅读