# VQCT (Visual quality control tool) ## Основные возможности: 1. Рендер поданного на вход svg файла в браузере. 2. Создание скриншот получившегося рендера в браузере, с последующим сохранением в формате png в выбранный каталог. 3. Сравнительный анализ получившегося результата с оценочным png файлом, который был также подан на вход программе. 4. Формирование результата сравнения. Программа работает через комнадную строку, ниже перечислены параметры запуска: Usage: `[keys] ` Overview: [keys] `--help` - вывод подсказки с кратким описанием параметров запуска программы. `--setup` - запускает мастер установки, где пользователю предлагается указать пути к браузерам (chrome, opera, firefox и ie), веб-драйверам для браузеров, путь где установлен ImageMagick, а так же два параметра которые используется утилитой compare в ImageMagick. Может использоваться с другими ключами. `--load-settings=` - задать путь к файлу настроек программы `.properties`. Если по указанному пути файл не найден, то будет автоматически создан файл с настройками пол умолчанию. Если запустить программу с ключём `--setup`, то вызовиться мастер установки, данные которого будут сохранены в указанным ключем `--load-settings` файл. `--browsers=` - список браузеров которые будут использованы во время работы программы. Данные перечисляются через запятую. Допустимые значения для данного ключа: `chrome, opera, firefox и ie`. Если не задать данный ключ при запуске, то по умолчанию будут задействованы все четыре браузера. `Example: --browsers=opera,ie` `--out=` - полный путь к выходному каталогу для скриншотов. Если каталог не существует, автоматически создается каталог и подкаталоги. Если путь не указан, скриншоты будут храниться в `{current_execute_dir}/{file_name_with_ext} _screenshots` `` - путь к SVG файлу. `Example: /home/user/pics/svg_file.svg`. Если полные путь не указан, тогда будет использоваться следующее `{current_execute_dir}/svg_file.svg`. `` - путь к базовому (контрольному) PNG файлу. `Example: /home/user/pics/base_png_file.png`. Если полные путь не указан, тогда будет использоваться следующее `{current_execute_dir}/base_png_file.png`. Для корректной работы необходимо следующее: 1. Браузеры - Chrome/Chromium, Opera, Firefox и IE (если программа запускается в windows) 2. Selenium webdriver для выше перечисленных браузеров. 3. ImageMagick v 6.x.x (для работы с ImageMagick используется java wrapper - im4java) ## Рендер svg файла в браузере Процесс работы: 1. Инициализация веб-драйвера посредствам перечисления параметров запуска выбранного браузера. 2. Задание размеров окна браузера - ширина и высота; 3. Задание ссылки на ресурс, который необходимо открыть в веб-браузере; 4. Непосредственно рендер открытого ресурса; 5. Сохранение результата рендера в файл формата png по указанному, при запуске программы, пути. ## Сравнение png файлов Данный этап представляет собой сравнительный анализ выходных данных, полученных при рендере исходного svg файла в выбранных браузерах, с оценочным png файлом. Программа должна сообщить, идентичны ли сравниваемые png файлы с оценочным или нет. Если есть отличия, то будет сформирован графический файл в формате png, в котором будут отображаться области в которых нашлись отличия. Для сравнения использует поставляемая в комплект ImageMagick утилита - compare (более подробно, можно прочитать тут https://www.imagemagick.org/Usage/compare/#metrics).