Изучение и использование pytest 21. Как использовать плагин allure-pytest для отчетов о тестировании?
Изучение и использование pytest 21. Как использовать плагин allure-pytest для отчетов о тестировании?

1 Введение в Allure

Подробную информацию можно найти в официальной документации.:https://docs.qameta.io/allure-report/

Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Allureявляется многоязычнымтестинструменты отчетности;
  • Можно использоватьWebОтображение содержимого отчета в форме;
  • Перспектива развития/обеспечения качества,сбои можно разделить на ошибки и неработающие тесты,Также журнал конфигурации,step,fixture,attachments,timings,История и интеграция с TMS и системой отслеживания ошибок;
  • С точки зрения менеджера, Allure предоставляет ясную «общую картину» того, какая функциональность была рассмотрена, где кластеризуются дефекты, как выглядит график выполнения и многие другие полезные вещи;
  • Модульность и масштабируемость Allure гарантируют, что вы всегда сможете что-то настроить так, чтобы Allure стал лучше для вас.

Ключевой момент: расширение функций требует добавления декораторов в набор тестовых примеров.(Подробнее читайте в последующих статьях)

2 Конфигурация среды

2.1 Установка плагина allure-pytest

Язык кода:python
кодКоличество запусков:0
копировать
pip3 install allure-pytest
Язык кода:python
кодКоличество запусков:0
копировать
C:\Users\Administrator>pip3 install allure-pytest
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: allure-pytest in d:\python37\lib\site-packages (2.8.12)
Requirement already satisfied: six>=1.9.0 in d:\python37\lib\site-packages (from allure-pytest) (1.15.0)
Requirement already satisfied: allure-python-commons==2.8.12 in d:\python37\lib\site-packages (from allure-pytest) (2.8.12)
Requirement already satisfied: pytest>=4.5.0 in d:\python37\lib\site-packages (from allure-pytest) (6.2.4)
Requirement already satisfied: attrs>=16.0.0 in d:\python37\lib\site-packages (from allure-python-commons==2.8.12->allure-pytest) (20.3.0)
Requirement already satisfied: pluggy>=0.4.0 in d:\python37\lib\site-packages (from allure-python-commons==2.8.12->allure-pytest) (0.13.1)
Requirement already satisfied: importlib-metadata>=0.12 in d:\python37\lib\site-packages (from pytest>=4.5.0->allure-pytest) (2.1.1)
Requirement already satisfied: iniconfig in d:\python37\lib\site-packages (from pytest>=4.5.0->allure-pytest) (1.1.1)
Requirement already satisfied: py>=1.8.2 in d:\python37\lib\site-packages (from pytest>=4.5.0->allure-pytest) (1.10.0)
Requirement already satisfied: packaging in d:\python37\lib\site-packages (from pytest>=4.5.0->allure-pytest) (20.8)
Requirement already satisfied: colorama in d:\python37\lib\site-packages (from pytest>=4.5.0->allure-pytest) (0.4.4)
Requirement already satisfied: atomicwrites>=1.0 in d:\python37\lib\site-packages (from pytest>=4.5.0->allure-pytest) (1.4.0)
Requirement already satisfied: toml in d:\python37\lib\site-packages (from pytest>=4.5.0->allure-pytest) (0.10.2)
Requirement already satisfied: zipp>=0.5 in d:\python37\lib\site-packages (from importlib-metadata>=0.12->pytest>=4.5.0->allure-pytest) (1.2.0)
Requirement already satisfied: pyparsing>=2.0.2 in d:\python37\lib\site-packages (from packaging->pytest>=4.5.0->allure-pytest) (2.4.7)

2.2 установка pytest

Язык кода:python
кодКоличество запусков:0
копировать
pip3 install pytest
  • Об этом говорить особо нечего, уже устанавливали.

2.3 скачать файл allure

  • Скачать адрес:https://github.com/allure-framework/allure2/releases
  • allure — инструмент командной строки;
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Посмотрите вниз,Найти ссылку для скачивания,используется здесьWindowsОперационная система,так что скачайzipдокумент:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Если указанная выше загрузка происходит медленно,Можно использовать Следующий адрес:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/

2.4 конфигурация переменной среды allure

  • После скачивания просто разархивируйте его локально, например:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
    -2.21.0\bin
  • Затем добавьте указанный выше путь к переменным системной среды:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

2.5 Настройка среды Java

  • Потому что привлекательность зависит от среды Java,Поэтому также необходима переменная Конфигурацияjava;
  • Подробную информацию о среде Java можно найти в Интернете или прочитать в этой статье, посвященной информации о Java: Подробное руководство по установке и настройке Jmeter

3 Проверьте версию Allure

Язык кода:python
кодКоличество запусков:0
копировать
allure --version
Язык кода:python
кодКоличество запусков:0
копировать
C:\Users\Administrator>allure --version
2.13.2

4. Очарование бега

4.1 Тестовые примеры

Язык кода:python
кодКоличество запусков:0
копировать
# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 20 марта 2023 г. 
# Имя файла: test_xxx.py
# Функция: пример
# Контактное лицо: VX (Ноама Нельсон)
# Блог: https://blog.csdn.net/NoamaNelson

import pytest
import time

class TestCase01():
    def test_case_01(self):
        time.sleep(1)
        print("case01$$$$$$$$$$$$$$$$$$$$$")

    def test_case_02(self):
        time.sleep(1)
        print("case02$$$$$$$$$$$$$$$$$$$$$")

    def test_case_03(self):
        time.sleep(1)
        print("case03$$$$$$$$$$$$$$$$$$$$$")

    def test_case_04(self):
        time.sleep(1)
        print("case04$$$$$$$$$$$$$$$$$$$$$")

    def test_case_05(self):
        time.sleep(1)
        print("case05$$$$$$$$$$$$$$$$$$$$$")

    def test_case_06(self):
        time.sleep(1)
        print("case06$$$$$$$$$$$$$$$$$$$$$")

class TestCase02():
    def test_case_07(self):
        time.sleep(1)
        print("case07$$$$$$$$$$$$$$$$$$$$$")

    def test_case_08(self):
        time.sleep(1)
        print("case08$$$$$$$$$$$$$$$$$$$$$")

    def test_case_09(self):
        time.sleep(1)
        print("case08$$$$$$$$$$$$$$$$$$$$$")


if __name__ == '__main__':
    pytest.main(["-s", "test_xxx.py"])

4.2 Метод исполнения

  • осуществлятьpytest -n auto --alluredir=xxx/xxx/xxxзапустить и просмотретьтестрезультат,в--alluredirПуть, по которому хранится указанный отчет.,например:
Язык кода:python
кодКоличество запусков:0
копировать
pytest -n auto --alluredir=allure
  • Я просто запускаю приведенный выше код,Поэтому я решил запустить Скриптдля:test_xxx.py,Отчет сохраняется по пути текущего скрипта:
Язык кода:python
кодКоличество запусков:0
копировать
pytest -n auto --alluredir=allure test_xxx.py
  • бегать:
Язык кода:python
кодКоличество запусков:0
копировать
gw0 [9] / gw1 [9] / gw2 [9] / gw3 [9] / gw4 [9] / gw5 [9] / gw6 [9] / gw7 [9]
.........                                                                                               [100%]
============================================= 9 passed in 4.66s ==============================================

4.3 Как просмотреть отчет

  • После завершения операции,test_xxx.pyпо тому же пути,создатьallureиздокументпапка:
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Вы можете видеть, что файлов много.,нам нужно использоватьallureкоманда для отображениятест Отчет:
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Язык кода:python
кодКоличество запусков:0
копировать
allure serve allure
Язык кода:python
кодКоличество запусков:0
копировать
(venv) F:\pytest_study\test_case\test_j>allure serve allure
Generating report to temp directory...
Report successfully generated to C:\Users\ADMINI~1\AppData\Local\Temp\743714976960418009\allure-report
Starting web server...
2023-03-20 11:16:28.270:INFO::main: Logging initialized @4392ms to org.eclipse.jetty.util.log.StdErrLog
Server started at <http://172.16.1.33:13959/>. Press <Ctrl+C> to exit
  • Использование приведенной выше команды автоматически откроет отчет следующим образом:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

4.4 Укажите порт для формирования отчета

  • В приведенном выше методе сгенерированный порт автоматически является случайным, так как же сгенерировать указанный порт? следующее:
Язык кода:python
кодКоличество запусков:0
копировать
allure serve -p 8888 allure

4.5 Переключение языка отчета

Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения

4.6 Просмотр важной информации в отчете

  • Ознакомьтесь с тестовым набором:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Просмотрите данные значка бега:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Посмотреть время выполнения варианта использования:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Просмотрите данные вариантов использования:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

5 описание структуры отчета allure

Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения
Вставьте сюда описание изображения

Поле

иллюстрировать

Overview

Обзор отчета

Categories

Категория: просмотрите, например, выполнение варианта использования. failedиerror

Suites

Тестовый комплект,в соответствии сpackagemodule、добрый、Методы поиска вариантов использования

Graphs

Графики результатов теста, включая диаграмму распределения, приоритет, затраты времени и т. д.

Timeline

Время выполнения варианта использования и т. д.

Behaviors

управляемое поведением, в соответствии сepic、feature、storyгруппироватьтествариант использования

Packages

в соответствии сpackagemoduleгруппироватьтествариант использования

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.