Быстрый старт
Платформа не требует отдельной установки и может использоваться стразу после распаковки дистрибутивного архива. Для её запуска нужно из командной строки перейти в каталог платформы и выполнить исполняемый файл metatest (или metatest.bat в случае с windows) передав ему имя (если конфигурация находится в каталоге tests) или путь к каталогу с конфигурацией тестов. Подробное описание параметров запуска находится в разделе документации Параметры среды
Переходим в каталог с платформой и запускаем:
./metatest тестовая_конфигурация [ параметры ] { -P ПАРАМЕТР=значение} { -F ФЛАГ } { -T ФЛАГ }
В некоторых случаях наиболее актуальна глобальная установка платформы. Для неё достаточно распаковать каталог дистрибутива в любое подходящее мести и создать символьную ссылка на исполняемый файл:
Пример глобальной установки:
tar -xf meta_test-1.0-linux-x86_64-debian_12.tar.gz -C /opt
ln -s /opt/meta_test/metatest /usr/local/bin/metatest
Для установки дополнительных python - библиотек нужно использовать pip3 из подкаталога python/bin/ находящегося в каталоге платформы.
Пример:
/opt/meta_test/metatest/python/bin/pip3 install faker
Интеграция с IDE
Ниже приведён пример основных настроек OpenIDE или PyCharm для создания проекта-конфигурации Meta Test. При использовании других IDE нужно будет выполнить аналогичные действия.
- При создании нового проекта нужно указать путь к исполняемому файлу интерпретатора python находящегося в каталоге дистрибутива python/bin/python Виртуальные окружения и прочее устанавливать не нужно:
- После создания проекта в настройках запуска нужно указать путь к файлу meta_test/main.py, а в строке “рабочая директория” путь к каталогу проекта. Строка параметров аналогична той которая используется для запуска тестовой конфигурации из консоли:
- Для того что бы в IDE заработали подсказки и автодополнение, нужно добавить каталог meta_test как корневой каталог проекта:
Расширения
Всё взаимодействие с внешними зависимостями в платформе “Meta Test” вынесено в расширения. Расширение это объект реализующий специальный интерфейс при помощи которого платформа может взаимодействовать с внешними системами. Расширения загружаются перед загрузкой тестов и по этому может быть использовано для переопределения параметров среды для всех тестов.
В настоящий момент при помощи расширений обеспечивается поддержка:
- Браузеров (в том числе можно обеспечить автоматическую загрузка драйверов и браузеров)
- Серверов для удалённого тестирования
- Систем отчётов (см. Интеграция с системами отчётов)
- Триггеров (см. Триггеры)
В дистрибутиве поставляются следующие расширения:
Каталог | Описание |
---|---|
extensions/chrome.py | Поддержка браузера Google Chrome |
extensions/chromium.py | Поддержка браузера Chromium |
extensions/firefox.py | Поддержка браузера Mozilla Firefox |
extensions/edge.py | Поддержка браузера Microsoft Edge |
extensions/safari.py | Поддержка браузера Safari |
extensions/free_keys.py | Лицензионные ключи для тестовых сайтов |
extensions/report_allure.py | Поддержка инструмента отчётов Allure |
extensions/selenoid.py | Поддержка инфраструктуры Selenoid |
Тестовая конфигурация
Описание тестовых сценариев производится в тестовой конфигурации. Тестовая конфигурация это один или несколько файлов на языке python находящихся в общем каталоге и в его подкаталогах.
С точки зрения платформы разделение на файлы имеет только семантическое значение по этому не важно в каких конкретно файлах находятся определённые тесты. Но тем не менее во избежания путаницы следует выработать чёткие правила размещения объектов конфигурации и их придерживаться.
При запуске платформа рекурсивно импортирует фалы конфигурации, за исключением файлов начинающихся с символов “.” или "_".
Для описания тестовых сценариев используется метя-язык что бы его подключить необходимо в начало каждого файла конфигурации добавить строку импорта:
from dsl import *
Пример:
from dsl import * # Подключаем метаязык
# Декларативное описание теста
"This text has random Id"](
TEST["/dynamic-properties")
URL("#enableAfter", "disabled", wait_timeout=5)
, NOT(= "button,dinamic"
, tags
)
# Параметра тестовой конфигурации
= "https://demoqa.com"
CONFIG.BASE_URL = "EAGER" CONFIG.PAGE_LOAD_STRATEGY
Метаязык подробно описан в разделах Основы мета-языка и Встроенные команды мета-языка
Telegramm группа
Политика конфиденциальности
Персональные данные