Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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

pytest
unittest
python
webdriver
Теги: #<Tag:0x00007f7b65f69838> #<Tag:0x00007f7b65f69608> #<Tag:0x00007f7b65f69310> #<Tag:0x00007f7b65f69018>

#1

Вопрос к знатокам 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()

#2

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


(Stan) #3

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

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