Skip to content

Latest commit

 

History

History
93 lines (67 loc) · 4.09 KB

browser-version-changer.md

File metadata and controls

93 lines (67 loc) · 4.09 KB

@testplane/browser-version-changer

Обзор

Используйте плагин @testplane/browser-version-changer, чтобы управлять определением версии браузера для тестов.

Установка

npm install -D @testplane/browser-version-changer

Настройка

Необходимо подключить плагин в разделе plugins конфига testplane:

module.exports = {
    plugins: {
        '@testplane/browser-version-changer': {
            enabled: true,
            initStore: async () => {
                return {
                    '70.1': ['title1', 'title2'],
                    '70.2': ['title3', 'title4']
                };
            }
            browsers: {
                chrome: {
                    '70.1': (test, ver, store) => store[ver].includes(test.title),
                    '70.2': (test, ver, store) => store[ver].includes(test.title)
                }
            }
        },

        // другие плагины Testplane...
    },

    // другие настройки Testplane...
};

Расшифровка параметров конфигурации

Параметр Тип По умолчанию Описание
enabled Boolean true Включить / отключить плагин.
initStore Function noop Функция для инициализации хранилища (store), которое будет доступно в predicate.
browsers Object N/A Список браузеров и их настроек. См. ниже подробности.

enabled

Включить или отключить плагин. По умолчанию: true.

initStore

Необязательный параметр. Функция для инициализации хранилища (store), которое будет доступно в predicate. Хранилище может использоваться для того, чтобы потом в predicate для любого теста определить, какая версия браузера к нему относится. По умолчанию: _.noop из библиотеки lodash.

Функция может быть асинхронной.

browsers

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

browsers: {
    <browser-id>: {
        <browser-version-1>: <predicate>,
        <browser-version-2>: <predicate>,
        // другие версии браузеров...
    },
    // другие браузеры...
}

predicate(test, version, store)

Функция-предикат, которая получает инстанс теста (test), версию браузера (version) и ссылку на хранилище (store). Должна вернуть true, если тест подходит под указанную версию браузера, иначе должна вернуть false.

Передача параметров через CLI

Все параметры плагина, которые можно определить в конфиге, можно также передать в виде опций командной строки или через переменные окружения во время запуска Testplane. Используйте префикс --browser-version-changer- для опций командной строки и testplane_browser_version_changer_ — для переменных окружения. Например:

npx testplane --browser-version-changer-enabled false
testplane_browser_version_changer_enabled=false npx testplane