Быстрый старт

Meta Test не требует отдельной установки и может использоваться стразу после распаковки дистрибутивного архива. Для его запуска нужно из командной строки перейти в каталог программной платформы и выполнить исполняемый файл metatest (или metatest.bat в случае с windows) передав ему имя (если конфигурация находится в каталоге tests) или путь к каталогу с конфигурацией тестов. Подробное описание параметров запуска находится в разделе документации Параметры среды

Переходим в каталог metatest и запускаем:

cd ./metatest
./metatest тестовая_конфигурация [ параметры ] { -P ПАРАМЕТР=значение } { -F ФЛАГ } { -T ФЛАГ } { -D ПАРАМЕТР }

В некоторых случаях наиболее актуальна глобальная установка платформы. Для неё достаточно распаковать каталог дистрибутива в любое подходящее место и создать символьную ссылка на исполняемый файл:

Пример глобальной установки:

tar -xf metatest-2.0-linux-x86_64.tar.gz -C /opt
ln -s /opt/metatest/metatest /usr/local/bin/metatest

Для установки дополнительных python-модулей нужно использовать команду ./python/bin/python -m pip install название_модуля выполняемую в подкаталоге в котором находится Meta Test.

Пример:

cd /opt/metatest
./python/bin/python3 -m pip install faker

Интеграция с IDE

Ниже приведён пример основных настроек OpenIDE или PyCharm для создания проекта-конфигурации “Meta Test”. При использовании других IDE нужно будет выполнить аналогичные действия.

  • При создании нового проекта нужно указать путь к исполняемому файлу интерпретатора python находящегося в каталоге дистрибутива python/bin/python Виртуальные окружения и прочее устанавливать не нужно:

  • После создания проекта в настройках запуска нужно указать путь к файлу metatest/meta_test/main.py, а в строке “рабочая директория” путь к каталогу проекта. Строка параметров аналогична той которая используется для запуска тестовой конфигурации из консоли:

  • Для того что бы в IDE заработали подсказки и автодополнение кода, нужно добавить каталог metatest/meta_test/ как корневой каталог проекта:

Расширения

Всё взаимодействие с внешними зависимостями в программной платформе “Meta Test” вынесено в расширения. Расширение это объект реализующий специальный интерфейс при помощи которого платформа может взаимодействовать с внешними системами. Расширения загружаются перед загрузкой тестов и по этому может быть использовано для переопределения параметров среды для всех тестов.

В настоящий момент при помощи расширений обеспечивается поддержка:

  • Браузеров (в том числе можно обеспечить автоматическую загрузка драйверов и браузеров)
  • Серверов для удалённого тестирования
  • Систем отчётов (см. Интеграция с системами отчётов)
  • Триггеров (см. Триггеры)
  • Команды

В дистрибутиве поставляются следующие расширения:

Каталог Описание
extensions/chrome.py Поддержка браузера Google Chrome
extensions/firefox.py Поддержка браузера Mozilla Firefox
extensions/free_keys.py Лицензионные ключи для тестовых сайтов
extensions/report_allure.py Поддержка инструмента отчётов Allure
extensions/selenoid.py Поддержка инфраструктуры Selenoid и moon

Загрузить расширения не вошедшие в состав дистрибутива можно из специального репозитория.

Тестовая конфигурация

Описание тестовых сценариев производится в тестовой конфигурации. Тестовая конфигурация это один или несколько файлов на языке python находящихся в общем каталоге и в его подкаталогах.

Разделение на файлы имеет только семантическое значение по этому не важно в каких конкретно файлах находятся определённые тесты. Но тем не менее во избежания путаницы следует выработать чёткие правила размещения объектов конфигурации и их придерживаться.

При запуске Meta Test рекурсивно импортирует все фалы конфигурации, за исключением файлов начинающихся с символов "." или "_".

Для описания тестовых сценариев используется встроенный предметно-ориентированный язык что бы его подключить необходимо в начало каждого файла конфигурации добавить строку импорта:

from metatest import *

Пример:

from metatest import * # Подключаем метаязык

# Декларативное описание теста
TEST["This text has random Id"](
    URL("/dynamic-properties")
    , NOT("#enableAfter", "disabled", wait_timeout=5)
    
    , tags = "button,dinamic"
)

# Параметра тестовой конфигурации
CONFIG.BASE_URL = "https://demoqa.com"
CONFIG.PAGE_LOAD_STRATEGY = "EAGER"

Встроенный язык подробно описан в разделах Основы описания тестов и Команды встроенного языка

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


Для версии 2.0 редакция от 16.09.2026


Группа в Max |  Группа в Telegramm
Политика конфиденциальности

© ИП Пуляев Григорий Васильевич, 2024-2026
ИНН: 263208655118, ОГРНИП: 320265100031176