Как я могу динамически генерировать тесты с Python, Selen - PullRequest
0 голосов
/ 14 января 2019

Мне нужно проверить пароль для сброса на 20 сайтах, могу ли я сгенерировать эти сообщения динамически, не хочу создавать 20 методов тестирования Я пытаюсь использовать это как пример, но это не сработало Как вы генерируете динамические (параметризованные) модульные тесты в python?

class TestSequense(unittest.TestCase):
    pass

def test_generator(site, form):
    def test(self):
        option = webdriver.ChromeOptions()
        option.add_argument("headless")
        option.add_argument("--window-size=1920,1080")
        driver = webdriver.Chrome(options=option)
        driver.implicitly_wait(30)
        reset_password_1 = ResetPasswordFirstForm(driver)
        if '1' in form:
            reset_password_1.get_customer_link(site)
            reset_password_1.wait_page_to_load(site)
            reset_password_1.go_to_reset_password()
            reset_password_1.set_email(reset_password['email'], site)
            reset_password_1.submit_form()
            reset_password_1.wait_for_popup(site)
    return test


if __name__ == '__main__':
    for site, form in all_sites.items():
        test_name = 'test_' + str(site)
        test = test_generator(site, form)
        setattr(TestSequense, test_name, test)

    unittest.main()

И там написано, что мой тестовый костюм пуст

Ran 0 tests in 0.000s

OK

Process finished with exit code 0
Empty test suite.

Я знаю, что этот кодекс лучше, но мне нужно хотя бы понять,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...