Skip to main content

Библиотека обеспечивает усовершенствованное управление параметрами PyTest и логирование, упрощая создание и отладку автоматизированных тестов за счет интуитивно понятных декораторов и продвинутых функций логирования. Она идеально подходит для повышения эффективности и наглядности процесса тестирования.

Project description

Библиотека MakeyIS

Введение

Аннотация @Test предназначена для расширенного управления тестами в pytest. Она позволяет настроить различные аспекты тестирования, включая условия выполнения тестов, количество повторений, группировку, а также интеграцию с логированием. Эта аннотация обеспечивает гибкость и удобство в организации тестов, делая процесс тестирования более структурированным и информативным.

Импортирование аннотации

Для использования аннотации @Test, необходимо сначала импортировать её в ваш тестовый файл. Это можно сделать следующим образом:

from Library.MakeyIS import Test

Использование аннотации

Базовое применение Аннотацию @Test можно применять к функциям тестов в вашем тестовом наборе. Например:

@Test(run_test=True, repetitions=5, group_name="Настройка опроса", log=True) 
def test_example(): 
assert True

Параметры

run_test (bool): Определяет, будет ли тест выполняться. Если значение False, тест будет пропущен. По умолчанию True.

repetitions (int): Указывает количество повторений теста. По умолчанию 1.

group_name (str): Имя группы, к которой будет относиться тест. Это помогает в организации и фильтрации тестов. По умолчанию "default".

log (bool): Включает или отключает логирование для теста. По умолчанию False.

Примеры использования

Чтобы выполнить тест один раз без логирования:

@Test(run_test=True, repetitions=1, log=False) 
def test_simple(): 
# ваш код теста

Чтобы пропустить тест:

@Test(run_test=False) 
def test_skipped(): 
# ваш код теста

Чтобы повторить тест несколько раз с логированием:

@Test(repetitions=3, log=True) 
def test_repeated(): 
# ваш код теста

Обновления в версии 0.3

Новые функции

  • Аннотация @Queue: Добавлена новая аннотация @Queue, которая позволяет устанавливать строгий порядок выполнения тестов. С помощью этой аннотации тесты могут быть запланированы для выполнения в определенном порядке, обеспечивая тем самым дополнительный уровень контроля над тестовым процессом.

Пример использования @Queue:

@Queue(q=1)
def test_priority():
# Ваш код теста

@Queue(q=2)
def test_followup():
# Ваш код теста

Обратите внимание, что использование строгого порядка выполнения тестов может противоречить некоторым принципам тестирования, таким как независимость тестов. Поэтому используйте эту функциональность осторожно и только там, где это действительно необходимо.

Обновления в версии 0.4

Были мелкие исправления по использованию повторений.

Обновления в версии 0.5

Улучшена и оптимизирована работа аннотации

Важно!

Добавьте в pytest.ini

[pytest]
# Другие ваши параметры
markers = group: описание маркера group

А так же прошу учесть, чтобы отработали повторения требуется добавить iteration. Вот как это выглядит на примере моего теста:

@Test(run_test=True, repetitions=1, group_name="Настройка опроса", log=True)
    def test_question_text(self, polls_page_control: PollsControlPage, iteration):
        TestPollsControlPage.creating_a_question_text(polls_page_control)

Интеграция с Allure и логированием

Ваша аннотация @Test также интегрирована с Allure для отображения шагов и логирования. Каждый тест, помеченный этой аннотацией, будет автоматически логироваться, а также будут отображаться шаги в Allure отчетах. Не путать с Allure.step.

Заключение

Использование аннотации @Test обеспечивает эффективное и гибкое управление тестами в pytest. Она позволяет управлять выполнением, повторениями, группировкой тестов и логированием, что делает процесс тестирования более структурированным и информативным.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MakeyIS-0.5.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

MakeyIS-0.5-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file MakeyIS-0.5.tar.gz.

File metadata

  • Download URL: MakeyIS-0.5.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for MakeyIS-0.5.tar.gz
Algorithm Hash digest
SHA256 c48443c96e845a3ec9dcd2b70a6e0afc38bb0c94c73f994a9d69b49a1d0af080
MD5 a295a27fe3c6f36d3e277ecbf38a8699
BLAKE2b-256 7e1cdd9a499bb5bdf1a4907d3a8baee793b3f3da82a6b30de9dea67f5d20d992

See more details on using hashes here.

File details

Details for the file MakeyIS-0.5-py3-none-any.whl.

File metadata

  • Download URL: MakeyIS-0.5-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for MakeyIS-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7114be8d5e93fdfd9f3e0ec85c40796c3c9983e048ba9501e6b0bba2dc8f84d9
MD5 1aa4005ce953c828c15c97d32fe03d95
BLAKE2b-256 0bccf7f55537dc86f8cd0e326df13b69d7145c324bd7f14e0694fafa47e89572

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page