t.me/atinfo_chat Telegram группа по автоматизации тестирования

Подскажите,как запуская тесты через командную строку - передавать значение браузера ?

Теги: #<Tag:0x00007f74876506a0> #<Tag:0x00007f74876505d8> #<Tag:0x00007f7487650510> #<Tag:0x00007f7487650448>

Вопрос к знатокам python :smile:
Нужно настроить так CI что бы одни и те же тесты запускались с разными браузерами… ( передавать значение браузера при запуске тестов) - эту часть реализовал.
Но вот с запуском у меня проблеммы.
py.test не хочет передавать значение , unittest - запускает но не логирует шаги выполнения…

def get_attr_from_cli():
    parser = argparse.ArgumentParser()
    parser.add_argument('-wd', '--web-driver', type=str)
    return parser.parse_args()

args = get_attr_from_cli()
driver = getattr(webdriver, args.web_driver)()
driver.maximize_window()

def test_login():
    driver.get(url)
    variable  = driver.find_element_by_css_selector(login_btn_path)
    assert variable.text == 'Login'

выполнить в консоли : pythom this_gile.py -wd=Firefox - работает если еще внизу создать

class execute_test(unittest.TestCase):
    test_login()

В Python принято передавать значения через системные переменные.
Для получения - os.getenv().

Нет такого понятия что в каком-то языке принято делать как-то. Принято делать так, как подходит по ситуации или исходя из возможностей ваших тулз.

@mrGorobec - http://pytest.org/latest/example/simple.html

2 Симпатий