古い回答、現在この回答
で説明されているようにそれ自体をサポートしています。
ファイルに定義されたparser
があり、定義されたオプションのみを許可するため、できません。configuration.py
ただし、(monkey patch の助けを借りて) できるようにしたい場合は、他のオプションと同じオプションを this に追加してください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
ファイルを file のように実行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
どこからでもasを呼び出したい場合はrun_behave.py
、次の行を追加します。
#!/usr/bin/env python
の最初の行にrun_behave.py
移動し、モードを実行可能ファイルに変更してから、chmod +x run_behave.py
このファイルを の 1 つの場所にコピーしますPATH
。/usr/local/bin
sudo mv run_behave.py /usr/local/bin/run_behave.py