Ответ 1
Нет, это невозможно, потому что есть parser
, который определен в файле configuration.py
, и только разрешить определенные параметры.
Но если вы хотите, вы можете (с помощью патча обезьяны!) просто добавить свой вариант, как и другие варианты, к этому parser
.
Для этого сначала создайте файл, например behave_run.py
, и исправьте этот parser
перед запуском behave
:
from behave import configuration
from behave import __main__
# Adding my wanted option to parser.
configuration.parser.add_argument('-u', '--url', help="Address of your url")
# command that run behave.
__main__.main()
И теперь, если вы запустите python behave_run.py --help
, вы можете увидеть новую опцию url
:
$ python behave_run.py --help | grep url
-u URL, --url URL Address of your url
Теперь вы можете запустить этот файл behave_run.py
как файл behave
и передать свой аргумент url тоже:
$ python behave_run.py --url http://google.com
И вы можете получить доступ к этому значению параметра url
с помощью context.config.url
, например, в файле environment.py
, а затем установить его для использования в других функциях:
def before_all(context):
context.browser = webdriver.Firefox()
context.url = context.config.url
Примечание:
Если вы хотите вызывать python run_behave.py
как run_behave.py
из любого места, добавьте эту строку:
#!/usr/bin/env python
в первую строку run_behave.py
и измените его в исполняемый файл с помощью chmod +x run_behave.py
, а затем скопируйте этот файл в одно место вашего PATH
, например, в /usr/local/bin
с помощью sudo mv run_behave.py /usr/local/bin/run_behave.py