Skip to content
This repository has been archived by the owner on Sep 21, 2022. It is now read-only.

Latest commit

 

History

History
95 lines (78 loc) · 8.04 KB

config.ru.md

File metadata and controls

95 lines (78 loc) · 8.04 KB

Конфигурация Gemini

Конфигурационный файл 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.