Skip to main content

Plugin for py.test to generate allure xml reports

Project description

Allure-Pytest-Adaptor

Release Status Downloads

Плагин для py.test который может генерировать отчеты в удобочитаемом виде для allure-report

Usage

py.test --alluredir [path_to_report_dir]

Плагин автоматически подключается к py.test через entry point, если установлен.

Подключение плагина в IDE:

pytest_plugins = 'allure.pytest_plugin',\

Advanced usage

В плагине есть возможность генерировать данные сверх того, что делает pytest.

Attachments

Для того, чтобы сохранить что-нибудь в тесте:

import allure

def test_foo():
    allure.attach('my attach', 'Hello, World')

Steps

Для того, чтобы побить тест на шаги:

import pytest

def test_foo():
    with pytest.allure.step('step one'):
        # do stuff

    with pytest.allure.step('step two'):
        # do more stuff

Работает и как декоратор. По умолчанию название степа - это имя декорируемого метода

import pytest

@pytest.allure.step
def make_test_data_foo():
    # do stuff

def test_foo():
    assert make_some_data_foo() is not None

@pytest.allure.step('make_some_data_foo')
def make_some_data_bar():
    # do another stuff

def test_bar():
    assert make_some_data_bar() is not None

При необходимости использования step’ов в коде, который нужен и без pytest, вместо pytest.allure.step можно использовать allure.step:

import allure

@allure.step('some operation')
def do_operation():
    # do stuff

Для фикстур поддержка несколько ограничена.

Severity

Для тестов, модулей и классов можно задавать приоритеты:

import pytest

@pytest.allure.severity(pytest.allure.severity_level.MINOR)
def test_minor():
    assert False


@pytest.allure.severity(pytest.allure.severity_level.CRITICAL)
class TestBar:

    # will have CRITICAL priority
    def test_bar(self):
        pass

    # will have BLOCKER priority via a short-cut decorator
    @pytest.allure.BLOCKER
    def test_bar(self):
        pass

Чтобы запустить тесты только определенных приоритетов:

py.test my_tests/ --allure_severities=critical,blocker

Extention

Для использования в других фреймворках выделен класс allure.common.AllureImpl, облегчающий создание привязок.

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

pytest-allure-adaptor-1.3.6.tar.gz (13.3 kB view details)

Uploaded Source

File details

Details for the file pytest-allure-adaptor-1.3.6.tar.gz.

File metadata

File hashes

Hashes for pytest-allure-adaptor-1.3.6.tar.gz
Algorithm Hash digest
SHA256 ad6696d32b1e796b601b2ffb4503c924d441e0a95ddeadb0d7cc51eb99391582
MD5 3bb6f1c33ce245613c9eb9360d4a1ca5
BLAKE2b-256 4318bce6206a831b1f99772898568332d0ca697d6a564346e677735d1dca6c6e

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