2016-05-23 4 views
2

есть способ настроить testconfig так, что я могу передать URL в командной строке, т.е. «nosetests --tc = systest_url test_suit.py»передавая URL, чтобы проверить против носа с testconfig

мне нужно запускайте тесты моего селена против среды dev и systest при выполнении сборки на teamcity. Наша команда решила использовать python для тестов UI, а Im больше Java-парней, и я пытаюсь понять, как работает плагин, похоже, что я могу хранить url в yaml и передавать файл команде -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) 

, который, очевидно, не работает

ответ

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'] 
+0

спасибо, работал. Всегда нужно передать полный URL. Есть ли способ определить значение url в config? Я полагаю, что получает параметры конфигурации из конфигурационного файла, ini/yaml/json и т. Д.? – pythonist

+0

Вы можете передать любое значение и проанализировать его по своему вкусу в методе настройки. Testconfig также поддерживает файлы конфигурации. Взгляните на [ответ] Мауро Баральди (http://stackoverflow.com/a/37390385/2027280). – sowa

1

Существует плагин для носа, 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'] 

Чем, называют нос арг

nosetests -s --tc-file example_cfg.ini 

Как описано в документации, вы можете использовать другие конфигурационные файлы типа, как YAML, JSON или даже модулей Python.