Параметры среды
- Запуск платформы с определёнными параметрами
- Пользовательские параметры
- Описание основных параметров
- Параметры расширений
Параметры платформы “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
Telegramm группа
Политика конфиденциальности
Персональные данные