有没有办法配置test-config,以便我可以在命令行中传递一个URL,即'nosetests --tc = systest_url test_suit.py'
我需要在对teamcity执行构建时针对开发和系统环境运行我的selenium测试。我们的团队决定使用python进行UI测试,而且我更像是一个Java人员,我想弄清楚插件是如何工作的,看起来我可以在yaml中存储url并将文件传递给--tc命令但是没有'似乎工作
我继承的代码如下所示:
URL = config['test' : 'https://www.google.com', ]
class BaseTestCase(unittest.TestCase, Navigation):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(5)
cls.driver.maximize_window()
cls.driver.get(URL)
显然不起作用
答案 0 :(得分:2)
有一个针对鼻子的插件nosetest-config。您可以指定一些配置文件,并将文件名从鼻子传递给--tc-file
arg。
<强>的config.ini 强>
[myapp_servers]
main_server = 10.1.1.1
secondary_server = 10.1.1.2
在测试文件中,您可以加载配置。
<强> test_app.py 强>
from testconfig import config
def test_foo():
main_server = config['myapp_servers']['main_server']
比,用args打电话给鼻子
nosetests -s --tc-file example_cfg.ini
如文档中所述,您可以使用其他配置文件类型,如YAML,JSON甚至Python模块。
答案 1 :(得分:1)
使用nose-testconfig --tc选项可以覆盖配置值。使用冒号将键与值分开。例如,
nosetests test.py --tc=url:dev.example.com
将使config['url']
中的值可用。
from testconfig import config
def test_url_is_dev():
assert 'dev' in config['url']