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

时间:2018-01-05 10:34:36

标签: python-3.x selenium python-behave

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

我知道我应该可以使用userdata来实现这一目标,但我无法弄清楚究竟是怎样的。有人可以帮忙吗? :)

1 个答案:

答案 0 :(得分:1)

您可以通过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)