Быстрый старт
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
Политика конфиденциальности