如何在 Behave Python 中将 url 作为配置参数传递

How to pass url as configuration parameter in Behave Python

我开始使用 behave 和 selenium 来编写自动化测试。我想创建名为 url 的参数作为配置参数,并且: - 能够设置它的默认值 - 能够将其作为参数从命令行传递

我知道我应该能够使用用户数据来实现这一点,但我不知道具体怎么做。有人可以帮忙吗? :)

您可以通过 CLI 直接传递您的行为执行所需的任何变量,在我的项目中,我们在 Jenkins CI(Shell 步骤)上使用它,如下所示:

python -m behave -D platform=desktop -D os=linux -D test.environment=$environment -D browser=remote.chrome -D jenkins.job=$JOB_NAME $TAGS -t=~ignore --no-skipped --no-capture --junit --junit-directory junit_reports

在我们的 behave.ini:

[behave.userdata]
browser=chrome
platform=desktop   ;this should be configurable via behave @tags
os=windows
test.environment=staging

然后在 Python 代码中访问数据:

if context.config.userdata['browser'].lower() == ApplicationDriversEnum.SELENIUM_CHROME:
    driver = __create_chrome_driver(context)