50 lines
5.6 KiB
Markdown
50 lines
5.6 KiB
Markdown
# VQCT (Visual quality control tool)
|
||
|
||
## Основные возможности:
|
||
|
||
1. Рендер поданного на вход svg файла в браузере.
|
||
2. Создание скриншот получившегося рендера в браузере, с последующим сохранением в формате png в выбранный каталог.
|
||
3. Сравнительный анализ получившегося результата с оценочным png файлом, который был также подан на вход программе.
|
||
4. Формирование результата сравнения.
|
||
|
||
Программа работает через комнадную строку, ниже перечислены параметры запуска:
|
||
|
||
Usage: `[keys] <path_to_svg_file> <path_to_base_png_file>`
|
||
|
||
Overview:
|
||
|
||
[keys]
|
||
|
||
`--help` - вывод подсказки с кратким описанием параметров запуска программы.
|
||
|
||
`--setup` - запускает мастер установки, где пользователю предлагается указать пути к браузерам (chrome, opera, firefox и ie), веб-драйверам для браузеров, путь где установлен ImageMagick, а так же два параметра которые используется утилитой compare в ImageMagick. Может использоваться с другими ключами.
|
||
|
||
`--load-settings=<path_to_file_settings>` - задать путь к файлу настроек программы `<settings_file_name>.properties`. Если по указанному пути файл не найден, то будет автоматически создан файл с настройками пол умолчанию. Если запустить программу с ключём `--setup`, то вызовиться мастер установки, данные которого будут сохранены в указанным ключем `--load-settings` файл.
|
||
|
||
`--browsers=<list_browsers>` - список браузеров которые будут использованы во время работы программы. Данные перечисляются через запятую. Допустимые значения для данного ключа: `chrome, opera, firefox и ie`. Если не задать данный ключ при запуске, то по умолчанию будут задействованы все четыре браузера. `Example: --browsers=opera,ie`
|
||
|
||
`--out=<path_to_output_screenshot_dir>` - полный путь к выходному каталогу для скриншотов. Если каталог не существует, автоматически создается каталог и подкаталоги. Если путь не указан, скриншоты будут храниться в `{current_execute_dir}/{file_name_with_ext} _screenshots`
|
||
|
||
`<path_to_svg_file>` - путь к SVG файлу. `Example: /home/user/pics/svg_file.svg`. Если полные путь не указан, тогда будет использоваться следующее `{current_execute_dir}/svg_file.svg`.
|
||
|
||
`<path_to_base_png_file>` - путь к базовому (контрольному) 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). |