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
过时的答案, 当前支持自身,如本answer所述。
不,这是不可能的,因为在
configuration.py
文件中有一个parser
就是defined,并且只有allow定义了options。但如果你想你可以(通过猴子补丁的帮助!),只需将与其他选项相同的选项添加到此
parser
。为此,首先创建一个文件,例如
behave_run.py
,并在运行behave
之前修补这个parser
:现在如果运行
python behave_run.py --help
,您可以看到新的url
选项:现在,您可以运行这个
behave_run.py
文件,比如behave
文件,并传递您的url参数:您可以使用
context.config.url
访问url
选项的值,例如在environment.py
文件中,然后将其设置为在其他函数中使用:注意:
如果要从任何位置将
python run_behave.py
调用为run_behave.py
,请添加以下行:#!/usr/bin/env python
到
run_behave.py
的第一行,并使用chmod +x run_behave.py
将其模式更改为可执行文件,然后将此文件复制到PATH
的一个位置,例如使用sudo mv run_behave.py /usr/local/bin/run_behave.py
在/usr/local/bin
中上述建议的解决办法在过去是必要的。
behave-1.2.5提供了一个“user data”概念,允许用户定义其数据:
另请参见:behave: userdata
Omid的另一个好答案是,在调用行为之前设置环境变量,比如:
TESTURL="www.abc.com" behave
这样做有一些注意事项,还有一些例子说明了在某些答案中定义的变量的不同作用域/持久性here
相关问题 更多 >
编程相关推荐