Конфигурационный файл Gemini .gemini.yml
находится в корне проекта.
Пример содержимого файла:
rootUrl: http://site.example.com
gridUrl: http://selenium-grid.example.com:4444/wd/hub
browsers:
phantomjs: phantomjs
chrome: chrome
opera12:
browserName: opera
version: '12.06'
firefox28:
browserName: firefox
version: '28.0'
firefox27:
browserName: firefox
version: '27.0'
Некоторые из параметров могут быть переопределены аргументами командной строки или переменными окружения согласно следующим приоритетам:
- Аргумент командной строки имеет наивысший приоритет. Он переопределяет переменную окружения и значение в конфигурационном файле.
- Переменная окружения – вторая по приоритету. Она переопределяет значение, заданное в конфигурационном файле.
- Значение в конфигурационном файле – последнее по приоритету.
- Если не задан ни один из указанных параметров, используется значение по умолчанию.
Поля конфигурационного файла:
-
rootUrl
(CLI:--root-url
, env:GEMINI_ROOT_URL
) – корневой адрес вашего веб-сайта. Целевые адреса ваших тестов будут назначены относительно корневого URL. -
gridUrl
(CLI:--grid-url
, env:GEMINI_GRID_URL
) – адрес Selenium Grid для создания скриншотов. Параметр обязателен, если тесты запускаются в каких-либо браузерах помимо PhantomJS. -
browsers
- список браузеров, используемых для тестирования. Все браузеры должны быть доступны в Selenium Grid.Формат поля
browsers
:browsers: <browser-id>: browserName: <name> version: <version> # ...другие свойства браузера в формате <key>: <value>
Допустимо указывать несколько версий одного и того же браузера (только в том случае, если эти версии доступны в вашем экземпляре Selenium Grid). Если версия не указана, будет использована любая доступная версия браузера с указанным именем.
Сокращенный вариант записи <browser-id>: {browserName: <name>}
– <browser-id>: <name>
.
Значение <browser-id>
используется для идентификации браузера в отчётах и в именах файлов скриншотов.
-
projectRoot
– корневой каталог проекта. Относительно этого каталога будут назначены все относительные пути в других настройках и опциях. По умолчанию, это каталог, в котором расположен конфигурационный файл. -
screenshotsDir
(CLI:--screenshots-dir
, env:GEMINI_SCREENSHOTS_DIR
) – каталог для хранения файлов со снимками экрана, указанный относительно директории конфигурационного файла. По умолчанию –gemini/screens
. -
capabilities
– дополнительные параметры Selenium и Sauce Labs для всех браузеров:capabilities: option1: value, option2: value
Можно настроить любой параметр за исключением
browserName
/version
(вместо этого используйтеbrowsers
) иtakesScreenshot
(автоматически заявлено какtrue
).В gemini есть спциальный параметр
--noCalibrate
. Его значение равноfalse
по умолчанию. Это включает калибровку браузера. Калибровка нужна для случаев когда веб драйвер делает скриншоты браузера, захватывающие бОльшую область, чем занимает отрисованный документ (html body). То есть на картинке помимо страницы, могут быть, например, контролы навигации браузера. Калибровка открывает в браузере специальную страницу, которая позволяет определить границы документа на скриншоте и отрезать лишнее.Если необходимо, калибровку можно отключить для конкретного браузера установкой
--noCalibrate
в значениеtrue
. -
debug
(CLI:--debug
, env:GEMINI_DEBUG
) – включить отладочный вывод в терминал. -
parallelLimit
– число браузеров запускаемыхGemini
параллельно. По умолчанию запускаются все, но иногда (например, при использовании облачных сервисов вроде Sauce Labs) это число необходимо контролировать. -
strictComparison
– считать тест провальным в случае любого рода ошибки. По умолчанию, только заметные различия считаются провалом теста. -
diffColor
– определяет цвет выделения различий между изображениями. Задаётся в#RRGGBB
-формате. По умолчанию, magenta (#FF00FF
). -
http.timeout
– таймаут запроса к Selenium Grid (мс). -
http.retries
– количество попыток отправки запроса в Selenium Grid. -
http.retryDelay
– пауза перед повторной отправкой запроса в Selenium Grid (мс). -
coverage
(CLI:--coverage
, env:GEMINI_COVERAGE
) – присвойте значениеtrue
для включения экспериментального отчёта о покрытии CSS-кода тестами. HTML-отчёт сохраняется в папкуgemini-coverage
. В случае, если CSS на тестируемых страницах есть source map, отчет будет составлен по исходным файлам. -
sourceRoot
(CLI:--source-root
, env:GEMINI_SOURCE_ROOT
) – папка, в которой располагаются исходные файлы. Локальные исходные файлы будут использованы для построения отчета о покрытии при использовании source map в том случае, если не удастся скачать их с тестируемого URL. По умолчанию, совпадает сprojectRoot
. -
coverageExclude
– массив путей или glob-масок, которые следуют исключить из отчета о покрытии. Например:coverageExclude: - libs/** - path/to/some.css - path/to/other.{css,less}
-
windowSize
(env:GEMINI_WINDOW_SIZE
) – размеры окна браузера. Например,1600x1200
.