Параметры среды

Параметры платформы “Meta Test” хранящиеся в пространстве имён CONFIG. Их значение может быть переопределено пользователем во время старта платформы или во время загрузки тестового набора. Если значение параметра не задано явно, то действует значение установленное для него по умолчанию. Для переопределение параметра в нужно явно присвоить параметру определённое значение.

Пример:

from dsl import *

CONFIG.REMOTE_EXECUTOR = "192.168.1.5:4444" # Запуск тестов на сервере 192.168.1.5:4444

Запуск платформы с определёнными параметрами

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

Ключ Полный ключ Параметр Описание
-hl --headless HEADLESS Запуск браузеров в headless режиме
-d --debug DEBUG Режим отладки
-s --silently SILENTLY Не выводить информацию на консоль
-t --tags TAGS Список тегов
-n --threads THREADS Количество потоков
-b --browser BROWSERS Множество используемых браузеров
-r --reports REPORTS Множество используемых отчётов
-l --load-strategy PAGE_LOAD_STRATEGY Способ определения загрузки страницы
-rt --retries RETRIES Количество попыток повторного запуска
-re --repeated TEST_REPEATED Количество запусков теста
-e --remote-exe REMOTE_EXECUTOR Строка подключения к тестовому серверу
-z --size PAGE_SIZE Размер окна браузера
-id --test_id TEST_ID Список идентификаторов исполняемых тестов
-vc --vacuum VACUUM Очищать браузеры в место их запуска
-i --info ONLY_INFO Только информация о тестовой конфигурации

Параметры для которых не определён ключ запуска можно переопределить следующим образом:

  • Для флагов (логических значений): -T ПАРАМЕТР - для установки флага в True или -F ПАРАМЕТР - для установки флага в False
  • Для прочих значений с помощью аргумента командной строки -P ПАРАМЕТР=значение
  • Если значением параметра является словарь, то при использовании флагов -T, -F и -P нужно указывать параметр с ключём в квадратных скобках.

Пример:

# Запуск тестового набора other
# При тестировании использовать 10 потоков
# Тестировать на браузерах firefox и edge
# Результаты тестирования вывести в отчёты console и allure
# Способ определения загрузки страницы - NORMAL
# Данные отчёта allure сохранять в каталог /home/user/log
# Перед запуском очистить каталог отчёта
# Очищать браузер, в место его перезапуска

$ metatest other --vacuum -n 10 -b firefox,edge -r console,allure -P PAGE_LOAD_STRATEGY=NORMAL -P ALLURE_LOG_DIR=/home/user/log -T ALLURE_CLEAR

# Устанавливаем значение "enableVNC" в словаре CONFIG.SELEBROW_OPTIONS в True и "screenResolution" в 1024x768x24

$ metatest other -P SELEBROW_OPTIONS[screenResolution]=1024x768x24 -T SELEBROW_OPTIONS[enableVNC]

Пользовательские параметры

Часто при создании расширений платформы требуется определить собственные параметры среды. Это можно сделать при помощи класса ItemConfig из модуля parameter. С его помощью можно как создать описание нового параметра, так и зарегистрировать его.

ItemConfig(name, data_type, [, default ] [, description ] [, serialize ] [, deserialize ] [, validator ] [, read_only ] [, public ] [, key ] [, full_key ] [, help ])

Создаёт описание нового параметра. Класс принимает следующие аргументы:

Аргумент Описание По умолчанию
name Идентификатор параметра
data_type Тип данных
default Значение по умолчанию “”
description Краткое описание параметра “”
serialize Функция сериализатор lambda name, x: x
deserialize Функция десериализатор lambda name, x: x
validator Функция валидатор None
read_only Значение параметра может быть определено только единожды False
public Не выводить описание параметра True
key Ключ для установки параметра из командной строки “”
full_key Ключ для установки параметра из командной строки (полный вариант) “”
help Подсказка для справки (отображается при запуске с ключём –help) “”

Аргумент serialize принимает бинарную функцию-сериализатор. Она принимает значение параметра и ассоциированное с ним имя и возвращает его представление с текстовом виде. Аргумент deserialize принимает противоположную ей бинарную функцию десериализатор которая из текстового представления восстанавливает исходное значение параметра. В аргумент validator может быть передана функция-валидатор. Она проверяет значение параметра и должна вернуть True если оно верно, иначе False.

Определение аргументов serialize, deserialize и validator обеспечивает правильную обработку значений передаваемых через командную строку.

ItemConfig.registrator(описание параметра {, описание параметра })

Регистрирует одно или несколько описаний параметров.

Примеры:

from parameter import ItemConfig

# Определение параметра PAGE_SIZE

def serial_size(lst):  # Функция сереализатор 
    return "x".join(map(repr, lst))

def deserial_size(name, lst):  # Функция десереализатор 
    [w,h] = lst.split("x")
    return (int(w), int(h))

def valid_size(data):  # Функция-валидатор
    (w,h) = data
    return w >= 516 and h >= 134

ItemConfig.registrator(
    ItemConfig(
        "PAGE_SIZE", tuple, (1920, 1080), "Размер окна браузера"
        , serial_size, deserial_size, valid_size, key="z", full_key="size"
))

# Определение параметров для поддержки браузера Edge

ItemConfig.registrator(
    ItemConfig("EDGE_VERSION", str, "", "EDGE: Версия edge")
    , ItemConfig("EDGE_LOCAL_PATH", str, "", "EDGE: Путь к исполняемому файлу edge")
    , ItemConfig("EDGE_DRIVER_PATH", str, "", "EDGE: Путь к файлу драйвера msedgedriver")
)

Описание основных параметров

VERSION - Версия платформы

Строковый параметр содержащий версию платформы. Нельзя изменить.

BUILD_DATE - Дата сборки платформы

Строковый параметр содержащий дату сборки платформы. Нельзя изменить.

TEST_CONFIG_PATH - Путь к каталогу с конфигурацией тестов

Строковый параметр содержащий путь к каталогу с текущей конфигурацией тестов. Определяется при запуске. Нельзя изменить.

TEST_CONFIG_NAME - Наименование текущей конфигурации тестов

Строковый параметр содержащий наименование текущей конфигурации тестов. Определяется при запуске. Нельзя изменить.

По умолчанию - ““

TEST_DESCRIPTION - Описание конфигурации тестов

Строковый параметр содержащий описание текущей конфигурации тестов. Это описание отображается в режиме вывода информации о тестовой конфигурации.

По умолчанию - ““

ONLY_INFO - Только информация о тестовой конфигурации

Флаг указывает на то что нужно вывести только информацию о тестах не запуская их. Определяется при запуске. Нельзя изменить.

По умолчанию - False

TEST_CONFIG_DIR - Каталог с конфигурациями тестов

Строковый параметр содержащий путь к каталогу в котором платформа ищет тестовые наборы. Определяется при запуске. Нельзя изменить.

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

Например:

$ metatest example

в место

$ metatest /home/user/meta_test/tests/example

По умолчанию - каталог tests находящийся в корне поставки

EXT_DIR_PATH - Путь к каталогу расширений

Строковый параметр содержащий путь к каталогу с расширениями.

По умолчанию - каталог extensions находящийся в корне поставки

BROWSERS_DIR - Путь к каталогу браузеров

Строковый параметр содержащий путь к каталогу в котором будут находится браузеры, драйвера, профили и прочие артефакты необходимые для функционирования selenium-а.

По умолчанию - каталог browsers находящийся в корне поставки

DOWNLOAD_DIR - Путь к каталогу загрузок

Строковый параметр определяющий каталог для загрузки файлов. Каталог автоматически очищается перед завершением работы платформы. Если каталог не определён, то команда CHECK_DOWNLOAD проверяющая скачивание файлов будет отключена.

По умолчанию - CONFIG.BROWSERS_DIR/download/

CACHE_DIR - Путь к каталогу кеша браузеров

Строковый параметр определяющий каталог кеша браузера. Каталог автоматически очищается перед завершением работы платформы. Если каталог не определён, то кеш не будет сохраняться на диске.

По умолчанию - CONFIG.BROWSERS_DIR/cache/

REPORT_DIR - Путь к каталогу отчётов

Строковый параметр определяющий каталог для отчётов.

По умолчанию - CONFIG.BROWSERS_DIR/reports/

USER_PROFILE - Использовать пользовательский каталог профиля браузеров

Флаг разрешающий использование пользовательских профилей браузеров, иначе будет использован стандартный для selenium-а каталог профиля.

По умолчанию - False на Unix системах и True на Windiws

PROFILE_DIR - Путь к каталогу профилей пользователей

Строковый параметр определяющий каталог в котором будут находится профили браузеров.

  • Если флаг USER_PROFILE равен False и значение параметра PROFILE_DIR не переопределено пользователем, то каталог USER_PROFILE будет автоматически очищается перед завершением работы платформы.
  • Если флаг USER_PROFILE равен True и значение параметра PROFILE_DIR явно определено, то браузером будет использоваться профиль находящийся в каталоге CONFIG.USER_PROFILE/идентификатор браузера/номер потока/.
  • Если флаг USER_PROFILE равен True, но значение параметра PROFILE_DIR не определено пользователем, то выбор каталога профилей будет зависеть от реализации в расширении браузера.

По умолчанию - CONFIG.BROWSERS_DIR/profile/

REMOTE_EXECUTOR - Адрес тестового сервера

Строковый параметр содержащий адрес удалённого сервера для запуска тестов (например с через selenoid или moon) в формате хост : порт. Например: 127.0.0.0:4444 Если значение не определено, то используется локальный браузер.

По умолчанию - ““

REMOTE_TIMEOUT - Тайм-аут подключения к тестовому серверу

Вещественный параметр определяющий тайм-аут (в секундах) при подключении к удалённого сервера для запуска тестов. Если равна 0, то используется тайм-аут заданный по умолчанию в настройках ОС.

По умолчанию - 30.0

LOG_LEVEL - Уровень логирования

Строковый параметр содержащий уровень логирования webdriver-a. Доступны следующие значения:

Уровень Описание
OFF Логирование отключено
SEVERE Только ошибки
WARNING Ошибки и предупреждения
INFO Ошибки, предупреждения и дополнительные сообщения
DEBUG Ошибки, предупреждения, сообщения и отладочная информация
ALL Все доступные сообщения.

По умолчанию - OFF

BASE_URL - Базовый URL

Строковый параметр содержащий адрес домена используемого тестовым набором. Её определение позволяет использовать относительные URL.

По умолчанию - ““

TAGS - Теги

Параметр определяющий множество тегов. Может быть задан как строка в формате “тег1,тег2…” так и в виде списка, кортежа или множества строк.

Тест будет запущен только в том случае если множество тегов CONFIG.TAGS будет пересекаться с множеством определённым в атрибуте tags текущего теста (см. атрибуты теста). Если значение параметра не определено т.е. является пустой строкой или пустым множеством, то будут запущены все активные тесты.

Если необходимо запустить все тесты кроме тех которые имеют определённый тег, то это можно сделать добавив к необходимому тегу префикс “@”. Например множество [“Тег1”, “@Тег2” ,“Тег3”] означает что будут запущены тесты с тегами “Тег1” и “Тег3” и не запущены тесты с тегом “Тег2” в не зависимости от того определены ли они не тегах “Тег1” или “Тег3”.

По умолчанию - ““

TEST_ID - Идентификаторы выполняемых тестов

Строковый параметр содержащий идентификатор или список идентификаторов (в том числе поддерживается строковый формат списков - “id_1,id_2,…”) тестов которые нужно выполнить. (см. параметр test_id в атрибутах теста).

Если необходимо запустить все тесты кроме тех которые имеют определённый идентификатор, то это можно сделать указав этот идентификатор с префиксом “@”. Например параметр в командной строке -id @id1,@id2 означает что будут запущены все тесты кроме тестов с идентификаторами id1 и id2

По умолчанию - ““

THREADS - Количество потоков

Числовой параметр определяющий максимальное количество одновременно запущенных тестов.

По умолчанию - 1

DELAY_THREADS - Пауза между запусками потоков

Вещественный параметр определяющая длительность паузы (в секундах) между запусками потоков.

По умолчанию - 0.2

SINGLE_THREADS - Запускать все экземпляры тесты в одном потоке

Флаг указывает на то что все экземпляры теста (т.е. тесты с разными параметрами и/или тесты в разных браузерах) должны запускаться последовательно в одном и том же потоке. Это позволяет предотвратить взаимное влияние экземпляров теста друг на друга.

По умолчанию - True

PAGE_SIZE - Размер окна браузера

Параметр определяющий размеры окна браузера (действует в том случае если размер не задан в аргументах теста).

Может быть определена как кортеж в формате (длина, ширина) или как строка с разделителем “x” например “1920x1080”.

По умолчанию - (1920, 1080)

REPORTS - Отчёты

Параметр определяющий множество используемых отчётов.

Может быть задана как строка в формате “отчёт1,отчёт2…” так и в виде списка, кортежа или множества строк или объектов типа BaseReport.

По умолчанию - “console”

BROWSERS - Браузеры

Параметр определяющий множество браузеров. Каждый тест будет запущен на каждом из этих браузеров.

Может быть задана как строка в формате “браузер1,браузер2…” так и в виде списка, кортежа или множества строк или объектов типа BaseBrowser.

По умолчанию - “chrome”

VACUUM - Очищать браузеры в место их запуска

Флаг указывает на то что браузер должен очищаться после завершения теста, а не запускаться каждый раз снова. Это позволяет экономить время на запуске браузера. Стандартная процедура очистки состоит из следующих этапов:

  • Удаление cookies
  • Очистка локального хранилища window.localStorage.clear()
  • Очистка сессионного хранилища window.sessionStorage.clear()
  • Удаление загруженных файлов
  • Переход на базовый URL или перезагрузка текущей страницы

По умолчанию - False

TRIGGER - Триггер для всех тестов

Параметр определяющий глобальный триггер (см. Триггеры). Этот триггер определяет методы setup и close на уровне всего тестового набора, а так же является триггером для теста если для него не задан атрибут trigger (см. атрибуты теста).

Может быть задан как строка содержащая идентификатор триггера или объектов типа BaseTrigger.

По умолчанию - ““

HEADLESS - Hardless режим

Флаг указывающий на то что браузер должен быть запущен в hardless режиме.

По умолчанию - False

INCOGNITO - Incognito режим

Флаг указывающий на то что браузер должен быть запущен в режиме incognito. Отключает использование кеша браузера.

По умолчанию - True

BROWSER_LANG

Строковый параметр определяющий язык браузера с которой он будет запущен. Должна соответствовать стандарту ISO 639-1.

По умолчанию - текущий язык системы

TEST_FATALITY - Все ошибки фатальны

Флаг указывающий на то что любые ошибки возникающие во время прохождения теста должны останавливать выполнение теста. Действует в том случае если для теста не определён атрибут fatality (см. атрибуты теста).

По умолчанию - True

TEST_REPEATED - Количество повторных запусков теста

Параметр определяет количество последовательных запусков теста. Действует в том случае если для теста не определён атрибут repiated (см. атрибуты теста).

По умолчанию - 1

RETRIES_MODE - Режим перезапуска

Строковый параметр определяющий режим перезапуска. Доступны следующие значения:

Режим Описание
OFF Перезапуск отключён
FLAKY Перезапуск только не стабильных тестов т.е. тех у которых атрибут flaky = True
CRITICAL Перезапуск тестов у которых severity равен CRITICAL или BLOCKER
BLOCKER Перезапуск тестов у которых severity равен BLOCKER
ALL Перезапуск всех тестов

По умолчанию - “OFF”

RETRIES - Максимальное количество перезапусков

Параметр определяющий максимальное количество перезапусков теста. Действует в том случае если для теста не определён атрибут retries (см. атрибуты теста).

По умолчанию - 3

RETRIES_SLEEP - Пауза между перезапусками

Параметр определяющий время паузы (в секундах) между запусками или перезапусками теста. Действует в том случае если для теста не атрибут retries_sleep (см. атрибуты теста).

По умолчанию - 1.0

PAGE_LOAD_STRATEGY - Способ определения загрузки страницы

Строковый параметр задающий алгоритм определения окончания загрузки страницы. Подробности смотри в разделе pageLoadStrategy официальной документации selenium.

Доступны значения: NORMAL | EAGER | NONE

По умолчанию - “NORMAL”

PAGE_LOAD_TIMEOUT - Тайм-аут загрузки страницы

Вещественный параметр определяющий максимальное время (в секундах) ожидания загрузки страницы. Если время превышено, то тест завершается со статусом TIMEOUT

По умолчанию - 10.0

SCRIPT_TIMEOUT - Тайм-аут JS

Вещественный параметр определяющий максимальное время (в секундах) выполнения js скриптов на страницы.

По умолчанию - 10.0

WAIT_TIMEOUT - Время явного ожидания

Вещественный параметр определяющий максимальное время (в секундах) ожидания элемента на странице. Если время превышено, то тест завершается со статусом ERROR

По умолчанию - 5.0

ENGINE_DELAY - Время задержки после каждого действия

Вещественный параметр определяющий время задержки (в секундах) после выполнения каждой команды.

По умолчанию - 0.0

DEBUG - Режим отладки

Флаг указывающий что нужно выводить отладочную информацию в отчётах. В настоящее время актуален только для отчёта console.

По умолчанию - False

SILENTLY - Не выводить сообщения на консоль

Флаг отключающий вывод информации в стандартный поток вывода.

По умолчанию - False

LICENSE_KEYS - Лицензионные ключи доступа к доменам

Словарь содержащий лицензионные ключи доступа к доменам в формате {“Домен”: “Ключ”}.

Пример:

CONFIG.LICENSE_KEYS = {
    "demoqa.com": "0003519342C700A32E4F4F84B19B469821692000659"
}

PROXY - Адрес proxy сервера

Текстовый параметр содержащий адрес proxy сервера.

По умолчанию - ““

Параметры расширений

Ниже перечислены параметры среды добавляемые стандартными расширениями.

SELENOID_OPTIONS - Параметры selenoid

Словарь со специфичными для selenoid параметрами. Подробности смотри в разделе Special Capabilities официальной документации selenoid.

Пример:

import time

CONFIG.SELENOID_OPTIONS = {
    "enableVideo": True
    , "enableVNC": True
    , "videoName": "raname_%f.mp4"%(time.time())
}

По умолчанию - {}

MOON_OPTIONS - Параметры moon

Словарь со специфичными для moon параметрами. Подробности смотри в разделе Special Capabilities официальной документации moon.

ALLURE_LOG_DIR - Путь к рабочему каталогу Allure

Строковый параметр содержащая путь к директории для отчётов Allure.

По умолчанию - CONFIG.REPORT_DIR/allure_log/

ALLURE_CLEAR - Очищать каталог отчёта

Флаг указывает на то что нужно очищать каталог отчётов перед запусков тестов.

По умолчанию - False

CHROME_DRIVER_PATH - Путь к chromedriver

Строковый параметр содержащий путь к исполняемому файлу chromedriver. Если не определён то используется драйвер соответствующий установленной версии браузера или последняя доступная версия драйвера.

По умолчанию - ““

CHROME_VERSION - Версия браузера chrome

Строковый параметр содержащий версию браузера chrome которую нужно использовать при тестировании. Если версия не определена пользователем, то платформа использует последнюю доступную версию браузера.

Если установить версию браузера как latest, beta, dev или canary, то платформа автоматически проверит соответствие версии браузера и при необходимости загрузит его.

Если браузер указанной версии не установлен, то платформа предпримет попытку его загрузки его porteble версии с последующей распаковкой в директорию указанную в параметре CONFIG.BROWSERS_DIR (доступно на платформах win64, mac-64 и linux64).

По умолчанию - ““

CHROME_LOCAL_PATH - Путь к исполняемому файлу chrome

Строковый параметр содержащий путь к исполняемому файлу браузера chrome который нужно использовать при тестировании.

По умолчанию - ““

GECKO_DRIVER_PATH - Путь к geckodriver

Строковый параметр содержащий путь к исполняемому файлу geckodriver. Если не определена то используется драйвер соответствующий установленной версии браузера или последняя доступная версия драйвера.

По умолчанию - ““

FIREFOX_VERSION - Версия браузера firefox

Строковый параметр содержащий версию браузера firefox которую нужно использовать при тестировании. Если версия не определена пользователем, то платформа использует последнюю доступную версию браузера.

Если установить версию браузера как latest или beta, то платформа автоматически проверит соответствие версии браузера и при необходимости загрузит его.

Если браузер указанной версии не установлен, то платформа предпримет попытку его загрузки его porteble версии с последующей распаковкой в директорию указанную в параметре CONFIG.BROWSERS_DIR (на данный момент доступно только на платформе linux64).

По умолчанию - ““

FIREFOX_LOCAL_PATH - Путь к исполняемому файлу firefox

Строковый параметр содержащий путь к исполняемому файлу браузера firefox который нужно использовать при тестировании.

По умолчанию - ““

EDGE_VERSION

Строковый параметр содержащий версию браузера edge которую нужно использовать при тестировании. Если версия не определена пользователем, то платформа использует последнюю доступную версию браузера.

По умолчанию - ““

EDGE_LOCAL_PATH

Строковый параметр содержащий путь к исполняемому файлу браузера edge который нужно использовать при тестировании.

По умолчанию - ““

CHROMIUM_VERSION

Строковый параметр содержащий версию браузера chromium которую нужно использовать при тестировании. Если версия не определена пользователем, то платформа использует последнюю доступную версию браузера.

По умолчанию - ““

CHROMIUM_LOCAL_PATH

Строковый параметр содержащий путь к исполняемому файлу браузера chromium который нужно использовать при тестировании.

По умолчанию - ““

YANDEX_DRIVER_PATH - Путь к yandexdriver

Строковый параметр содержащий путь к исполняемому файлу yandexdriver. Если не определён то используется драйвер соответствующий установленной версии браузера или последняя доступная версия драйвера.

По умолчанию - ““

YANDEX_VERSION - Версия yandex browser

Строковый параметр содержащий версию браузера yandex browser которую нужно использовать при тестировании. Если версия не определена пользователем, то платформа использует последнюю доступную версию браузера.

По умолчанию - ““

YANDEX_LOCAL_PATH - Путь к исполняемому файлу yandex browser

Строковый параметр содержащий путь к исполняемому файлу браузера yandex browser который нужно использовать при тестировании.

По умолчанию - ““


Для версии 1.1 редакция от 16.03.2026