Я использую PyTest и Selenium для тестирования всех параметров, перечисленных в раскрывающемся меню на веб-сайте. Я хочу перейти на эту страницу, выбрать все доступные параметры в раскрывающемся списке, а затем использовать параметризацию для создания новых субтестов, чтобы щелкнуть каждый параметр и протестировать элементы пользовательского интерфейса. Это выглядит так:
class TestOptions:
dropdown_options = []
def test_login(self):
...
def test_navigate_to_page(self):
...
def test_grab_all_options(self):
self.dropdown_options = get_all_dropdown_option_names()
# test that all option names follow a criteria
...
@pytest.mark.parametrize("option", dropdown_options)
def test_each_option(self, option):
find_option_by_name(option).click()
# tests
...
Проблема в том, что я считаю, что параметризация задается до начала любых тестов, поэтому dropdown_options видит пустой список. Есть ли способ динамического заполнения этого списка?