
Состоялся второй мажорный релиз проекта Meta Test. Это российская платформа для создания и запуска автотестов веб‑приложений без навыков программирования.
Meta Test — это российская программная платформа для создания и запуска автоматизированных тестов веб‑приложений людьми без навыков программирования. В основе платформы лежит концепция языково‑ориентированного программирования. Для описания тестов используется декларативный предметно‑ориентированный язык, что позволяет избавится от создания тестового «фреймворка» и сложных для понимания концепций вроде Page Object Model. Но тем не менее поддерживается исполнение в тестах обычного кода на языке python, что позволяет гибко работать с источниками тестовых данных, отправлять API запросы и даже создавать новые команды для встроенного языка.
Платформа Meta Test предоставляет:
-
встроенный язык для описания тестовых сценариев со средой выполнения;
-
систему эффективного многопоточного запуска тестов;
-
встроенные автоматические ожидания;
-
систему триггеров;
-
механизм автоматической загрузки драйверов и браузеров;
-
средства интеграции с инструментами построения отчётов;
-
систему расширений.
Проект Meta Test предназначен для использования на многоядерных процессорах с архитектурой x86-64. Для запуска рекомендуется использовать операционную систему Debian Linux 12, но тем не менее платформа работает и на других современных дистрибутивах. Также возможна работа и на операционных системах Windows 11 и iMac 15.
Основные изменения в проекте Meta Test 2.0:
-
расширения для поддержки браузеров chromium, edge и safari были перенесены из дистрибутива в репозиторий для расширений;
-
улучшена система отчётов. Доработан отчёт для allure;
-
в механизм расширений была добавлена поддержка команд;
-
изменено поведение большинства команд, некоторые команды были переименованы;
-
добавлены команды для поддержки js‑alerts;
-
доработан раннер тестов. Добавлена поддержка статистики, что позволяет автоматически ранжировать тесты по времени запуска и запускать только упавшие тесты;
-
добавлена начальная поддержка HTTP запросов. С их помощью можно напрямую обращаться к веб‑серверу, минуя взаимодействия с браузером.
Этот механизм в первую очередь предназначен для дополнения браузерного тестирования, а не для создания самостоятельных api‑тестов. Например, тест, приведённый ниже, переходит на url http://the‑internet.herokuapp.com/download и получает все ссылки, находящиеся в контейнере с классом example. Затем для каждой ссылки выполняется HEAD запрос, код статуса которого должен быть равным 200.
from metatest import *TEST["Проверка доступности ссылок для скачивание файлов"]( URL("http://the-internet.herokuapp.com/download") , "Проверяем доступность всех URL файлов" , HEAD[ALL(".example > a", "attr::href")]( STATUS == STATUS.OK , timeout=25))

Источник: habr.com