Я настраиваю некоторые базовые тесты пользовательского интерфейса в pytest для моего веб-приложения.Каждый функциональный тест в этом приложении требует, чтобы пользователь сначала вошел в систему.Я хотел бы создать установочное приспособление, которое откроет браузер (какой браузер, какой сервер - зависит от аргументов командной строки), а затем войдите в систему, используя данные из файла JSON (без значений жесткого кодирования).Я не хотел бы основывать свои контрольные примеры на контрольном примере входа в систему (который содержит несколько наборов данных), я хотел бы использовать отдельное устройство.
Я успешно создал установку, которая открывает желаемый браузер и используетжелаемый сервер, но я понятия не имею, как параметризовать прибор, чтобы также использовать данные из JSON.
Итак, если я хотел использовать функцию в моем установочном приспособлении, которая регистрирует меня и требует такие параметры, как логин и пароль:
login_page = LoginPage(driver)
login_page.log_me_in(login, password)
как мне добавить ее в мое установочное приспособление?
Это моя настройка conftest.py:
@pytest.fixture(scope="class")
def setup(request, browser, server_instance):
if browser is None:
browser = "iexplorer"
if server_instance is None:
server_instance = "test"
driver = WebdriverFactory(browser, server_instance).webdriver_instance()
if request.cls is not None:
request.cls.driver = driver
yield driver
driver.quit()
А также добавление параметров из командной строки:
def pytest_addoption(parser):
parser.addoption("--browser", help="choose test browser: iexplorer,
firefox, chrome")
parser.addoption("--server_instance", help="choose test server instance:
test, user")
@pytest.fixture(scope="class")
def browser(request):
return request.config.getoption("--browser")
@pytest.fixture(scope="class")
def server_instance(request):
return request.config.getoption("--server_instance")
Я пытался использовать pytest_generate_tests, но я делаюНе до конца понятно, как и на каком основании параметры впоследствии добавляются в прибор.
Или, может быть, мне следует добавить другой прибор, который использует установочный прибор и регистрирует меня?И все же, как передать параметры из файла?
Пожалуйста, укажите мне правильное направление!Спасибо!