Вышел Meta Test 2.0

good-penguin.png

Meta 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
))

>>> Meta Test

©  Linux.org.ru