我开始使用behave和selenium来编写自动化测试。我想创建一个名为url的参数作为配置参数,并且: - 能够设置它的默认值 - 能够从命令行传递它作为参数
我知道我应该可以使用userdata来实现这一目标,但我无法弄清楚究竟是怎样的。有人可以帮忙吗? :)
答案 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)