Вышел Meta Test 2.0Meta Test это российская программная платформа для создания и запуска автоматизированных тестов веб-приложений людьми без навыков программирования. В основе платформы лежит концепция языково-ориентированного программирования. Для описания тестов используется декларативный предметно-ориентированный язык, что позволяет избавится от создания тестового «фреймворка» и сложных для понимания концепций вроде Page Object Model. Но тем не менее поддерживается исполнения в тестах обычного кода на языке python что позволяет гибко работать с источниками тестовых данных, отправлять API запросы и даже создавать новые команды для встроенного языка.
Основные изменения:
- Расширения для поддержки браузеров 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 )) dsl,
qa,
импортозамещение,
от автора,
тестирование