1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/azhengzz-api-automation-test

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 12 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 18:25 a3381d9

Платформа для автоматизации тестирования интерфейсов ApiAutomationTest

С её помощью можно выполнять отладку одного или нескольких интерфейсов, как в PostMan, или использовать логические контроллеры, как в JMeter.

Для тестирования сценариев предусмотрены настройки ожидаемых утверждений и скриптов.

Также платформа предлагает инструменты, такие как таймеры, переменные и скрипты, которые позволяют создавать разнообразные тестовые сценарии.

Можно настроить периодическое или по расписанию выполнение задач проекта.

После завершения выполнения сценария можно просмотреть отчёт, а также получать уведомления о результатах через WeChat.

Содержание:

  • Введение;
  • Архитектура программного обеспечения;
  • Установка;
  • Руководство пользователя;
  • Компоненты платформы;
  • Сопровождение;
  • Благодарности;
  • Вклад в проект;
  • Лицензия на использование.

Введение

Как и большинство тестировщиков, я использую PostMan для ручного тестирования интерфейсов. Автоматизация интерфейсов обычно реализуется с помощью JMeter + Ant + Jenkins, что позволяет автоматизировать выполнение, создавать отчёты и выполнять периодическую сборку и отправку уведомлений. Однако настройка решения для автоматизации с использованием JMeter + Ant + Jenkins может быть сложной задачей для тех, кто только начинает работать с этими инструментами. Этот проект объединяет особенности различных инструментов и предоставляет основные функции (поддержка ручного тестирования интерфейса, выполнение на уровне проекта и модуля, создание отчётов, отправка уведомлений, периодическая сборка).

Архитектура программного обеспечения

  • Фронтенд: Bootstrap4 + JS&JQuery;
  • Бэкенд: Python + Flask3.x;
  • Зависимости (бэкенд, основные сторонние библиотеки):
    • Flask;
    • Flask-SQLAlchemy;
    • Flask-Migrate;
    • Flask-SocketIO;
    • requests;
    • PyMySQL;
    • paramiko;
    • APScheduler.

Установка

Рекомендуется использовать версию Python 3.9. Поддерживаются Windows и Linux.

  1. Создайте виртуальную среду проекта в каталоге ApiAutomationTest. Для этого перейдите в каталог ApiAutomationTest и выполните следующую команду:
python -m venv ./venv

Важно: последующие шаги должны выполняться с использованием исполняемых файлов из созданной виртуальной среды.

  1. Установите сторонние библиотеки Python с помощью pip:
pip install -r requirements.txt

В Китае можно использовать зеркальный источник Douban для ускорения загрузки:

pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
  1. Инициализируйте базу данных с помощью команды:
flask init
  1. Запустите сервис с помощью команды:
python webserver.py

Руководство пользователя

Страница входа

После инициализации базы данных используйте учётные данные администратора (имя пользователя: admin, пароль: admin) для входа.

Общая страница

Просмотрите информацию о сборке.

Страница проекта

Просмотр и управление всеми проектами.

Страница модуля

Просмотр и управление модулями в рамках отдельного проекта.

Сценарии страницы

Создание и отладка тестовых сценариев (подробнее см. ниже).

Отчётная страница

Просмотр всех отчётов (подробнее см. ниже).

Настройка страницы

Настройка уведомлений WeChat. При настройке уведомлений WeChat необходимо установить флажок «Подпись» и ввести сгенерированный ключ в настройках уведомлений WeChat (см. рисунок ниже).

Создание сценариев Проект → модуль → сценарий → компонент: проект делится на четыре уровня, и сценарии создаются путём комбинирования различных компонентов.

Перейдите на страницу сценария, нажав на соответствующий модуль. Добавьте HTTP-запрос, нажав кнопку «Добавить HTTP-элемент». Введите параметры HTTP и нажмите кнопку «Отправить», чтобы протестировать текущий интерфейс. В компоненте можно добавить ожидаемые утверждения, предварительные и последующие скрипты. Предварительный скрипт выполняется перед компонентом, а последующий — после его выполнения.

Выполните один или несколько сценариев в модуле, нажав «Выполнить тестирование модуля». Просмотрите отчёт о выполнении, перейдя на страницу отчёта.

Выполнение Существует три способа выполнения:

  1. Нажмите кнопку «Отправить» для компонента HTTP.
  2. Нажмите «Выполнить тестирование» на странице сценария.
  3. Нажмите «Выполнить тестирование» на странице модуля. Выполнение модуля и проекта приводит к созданию соответствующих тестовых отчётов.

Просмотр последних 5 отчётов

Просмотр раскрывающегося списка отчётов

Тестовые отчёты поддерживают просмотр результатов выполнения в реальном времени и журналов.
Можно просмотреть данные запроса и ответа для данного случая, а также установленные ожидаемые результаты и результаты утверждений.

Детальный отчёт о модульном тестировании

Компонент Тип Описание
Запрос компонента HTTP Поддержка протоколов HTTP/HTTPS
Поддержка распространённых методов: GET POST DELETE PUT PATCH HEAD OPTIONS
Запрос компонента SSH Удаленное выполнение команд
Запрос компонента SQL Поддержка базы данных MySQL
Запрос компонента Debug Получение всех определённых переменных и значений в контексте выполнения
Инструмент компонента HTTPHeaderManager Настройка данных заголовка HTTP-запроса
Инструмент компонента HTTPCookieManager Настройка данных cookie HTTP
Инструмент компонента VariableDefinition Определение переменной
Инструмент компонента Timer Таймер, приостанавливает выполнение на некоторое время, затем продолжает выполнение
Инструмент компонента Script Поддержка написания скриптов Python, гибкая обработка сложных логических операций и данных
Логический компонент SIMPLE Простой контроллер, может использоваться для управления группами компонентов
Логический компонент IF Контроллер IF, выражение оценивается как истинное или ложное, только при истинном значении выполняется внутренний компонент контроллера
Логический компонент WHILE Контроллер WHILE, цикл повторяется до тех пор, пока условие истинно, в противном случае цикл завершается
Логический компонент LOOP Контроллер LOOP, устанавливает количество циклов, выполняет компоненты внутри контроллера циклически

Сопровождающие

@azhengzz

Благодарности

Как внести свой вклад

Мы будем рады вашему участию! Создайте задачу или отправьте запрос на вытягивание (Pull Request).

Проект следует Contributor Covenant.

Лицензия на использование

Этот проект использует лицензию Apache License 2.0.

Прочее

Авторская контактная информация

Связанные проекты

  • WebUIAutoTest (платформа автоматизации WebUI)

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/azhengzz-api-automation-test.git
git@api.gitlife.ru:oschina-mirror/azhengzz-api-automation-test.git
oschina-mirror
azhengzz-api-automation-test
azhengzz-api-automation-test
feature-flask3