Справочная информация
У меня есть веб-приложение, в котором я пытаюсь создать контрольные примеры для использования сочетания Pytest и селена. Текущая настройка в веб-приложении выглядит следующим образом: есть список мест, из которых мне нужно забрать пакеты. Каждое местоположение - это ссылка, которая ведет к списку пакетов в каждом местоположении, поэтому структура выглядит примерно так:
- Местоположение 1
- Пакет 1
- Пакет 2
- Пакет ...
- Пакет n
Местоположение 2
- Пакет 1
- Пакет 2
- Пакет ...
- Пакет n
...
Местоположение N. ..
Проблема
Теперь я хочу протестировать несколько вещей для каждого местоположения: я хочу видеть, что ссылка на местоположение работает, количество пакетов правильное, идентификаторы пакетов правильные и т. д. c. Как я могу сделать это таким образом, чтобы использовать хороший дизайн тестового примера, но при этом экономить время.
Что я сделал / Где я застрял
Насколько я понимаю, как часть хорошего дизайна теста, нужно тестировать по одной вещи за раз test, так что у меня есть один тест, который проверяет, работает ли ссылка, один тест на правильность подсчета пакетов, другой - на проверку правильности расположения перечисленных пакетов. Теперь проблема в том, что если я использую @ pytest.mark.parametrize, то он будет проходить через каждый тест в отдельности. Например, если я параметризую тест «проверка работоспособности ссылки» и предоставлю ссылки в качестве параметров, он будет затем проходить по каждой из ссылок местоположения, чтобы увидеть, работают ли они, но теперь, если я хочу проверить правильность списков пакетов и предоставив ссылки на местоположение в качестве параметров, мне придется снова просмотреть все ссылки и посмотреть, правильный ли список пакетов, к которому я попадаю, нажав на ссылку расположения В результате я трачу много времени, щелкая эти ссылки хотя бы один раз для каждого теста. Вместо того, чтобы нажимать ссылку несколько раз, было бы эффективнее, если бы я мог запустить тест проверки ссылки, затем список пакетов проверяет затем go назад и продолжает цикл, так что я нажимаю каждую ссылку только один раз, но я не могу найти способ сделать это.
Мой вопрос
Есть ли способ в некотором смысле параметризовать кучу тестов вместе? Например, учитывая параметр, я запускаю более одного теста на нем? Единственное решение, которое у меня есть сейчас, - это go по всем ссылкам и заблаговременный сбор данных, а затем запуск тестов на собранных данных, а не на самом сайте.