PyTest: используйте результаты предыдущего теста для параметризации следующих тестов - PullRequest
0 голосов
/ 16 июня 2020

Я использую 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 видит пустой список. Есть ли способ динамического заполнения этого списка?

...