Платформа для автоматизации тестирования интерфейсов ApiAutomationTest
С её помощью можно выполнять отладку одного или нескольких интерфейсов, как в PostMan, или использовать логические контроллеры, как в JMeter.
Для тестирования сценариев предусмотрены настройки ожидаемых утверждений и скриптов.
Также платформа предлагает инструменты, такие как таймеры, переменные и скрипты, которые позволяют создавать разнообразные тестовые сценарии.
Можно настроить периодическое или по расписанию выполнение задач проекта.
После завершения выполнения сценария можно просмотреть отчёт, а также получать уведомления о результатах через WeChat.
Содержание:
Введение
Как и большинство тестировщиков, я использую PostMan для ручного тестирования интерфейсов. Автоматизация интерфейсов обычно реализуется с помощью JMeter + Ant + Jenkins, что позволяет автоматизировать выполнение, создавать отчёты и выполнять периодическую сборку и отправку уведомлений. Однако настройка решения для автоматизации с использованием JMeter + Ant + Jenkins может быть сложной задачей для тех, кто только начинает работать с этими инструментами. Этот проект объединяет особенности различных инструментов и предоставляет основные функции (поддержка ручного тестирования интерфейса, выполнение на уровне проекта и модуля, создание отчётов, отправка уведомлений, периодическая сборка).
Архитектура программного обеспечения
Установка
Рекомендуется использовать версию Python 3.9. Поддерживаются Windows и Linux.
python -m venv ./venv
Важно: последующие шаги должны выполняться с использованием исполняемых файлов из созданной виртуальной среды.
pip install -r requirements.txt
В Китае можно использовать зеркальный источник Douban для ускорения загрузки:
pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
flask init
python webserver.py
Руководство пользователя
Страница входа
После инициализации базы данных используйте учётные данные администратора (имя пользователя: admin, пароль: admin) для входа.
Общая страница
Просмотрите информацию о сборке.
Страница проекта
Просмотр и управление всеми проектами.
Страница модуля
Просмотр и управление модулями в рамках отдельного проекта.
Сценарии страницы
Создание и отладка тестовых сценариев (подробнее см. ниже).
Отчётная страница
Просмотр всех отчётов (подробнее см. ниже).
Настройка страницы
Настройка уведомлений WeChat. При настройке уведомлений WeChat необходимо установить флажок «Подпись» и ввести сгенерированный ключ в настройках уведомлений WeChat (см. рисунок ниже).
Создание сценариев Проект → модуль → сценарий → компонент: проект делится на четыре уровня, и сценарии создаются путём комбинирования различных компонентов.
Перейдите на страницу сценария, нажав на соответствующий модуль. Добавьте HTTP-запрос, нажав кнопку «Добавить HTTP-элемент». Введите параметры HTTP и нажмите кнопку «Отправить», чтобы протестировать текущий интерфейс. В компоненте можно добавить ожидаемые утверждения, предварительные и последующие скрипты. Предварительный скрипт выполняется перед компонентом, а последующий — после его выполнения.
Выполните один или несколько сценариев в модуле, нажав «Выполнить тестирование модуля». Просмотрите отчёт о выполнении, перейдя на страницу отчёта.
Выполнение Существует три способа выполнения:
модуля
и проекта
приводит к созданию соответствующих тестовых отчётов.Тестовые отчёты поддерживают просмотр результатов выполнения в реальном времени и журналов.
Можно просмотреть данные запроса и ответа для данного случая, а также установленные ожидаемые результаты и результаты утверждений.
Компонент | Тип | Описание |
---|---|---|
Запрос компонента | 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, устанавливает количество циклов, выполняет компоненты внутри контроллера циклически |
Мы будем рады вашему участию! Создайте задачу или отправьте запрос на вытягивание (Pull Request).
Проект следует Contributor Covenant.
Этот проект использует лицензию Apache License 2.0.
Авторская контактная информация
- Электронная почта: zhangzheng527@outlook.com
Связанные проекты
- WebUIAutoTest (платформа автоматизации WebUI)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )