2015-08-06 5 views
0

Вот где я: Я хочу автоматизировать визуальные регрессии. Итак, с CasperJS я взял несколько скриншотов с несколькими размерами. Я тоже могу использовать его, чтобы сделать скриншоты из реальной ситуации. Все скриншоты имеют одно и то же имя, только в двух отдельных папках.Сравните bash скриншотов

Вопрос: как я могу автоматизировать тестирование? Я ищу решение, немного похожее на compare от ImageMagick, которое дает мне суперпозицию двух версий и выделяет разницу. Но он должен работать с несколькими файлами.

Любая идея?

+0

Таким образом, вы хотите видеть все изображения одновременно с большим статическим монтажом или один за другим, а вы нажимаете клавишу для перемещения по ним или в анимации, которая проходит через них, автоматически изменяя изображение каждые несколько секунд? –

+0

@MarkSetchell Способ, которым он представлен, не имеет значения для меня, если я могу легко увидеть различия. – Axiol

+0

Вы, вероятно, ищете resemble.js –

ответ

1

Я хотел бы сделать это что-то вроде этого в bash:

#!/bin/bash 
# These are the FULL paths to the two folders of images - edit as you wish 
dir1="/Users/Mark/tmp/A" 
dir2="/Users/Mark/tmp/B" 
diff="/Users/Mark/tmp/diffs" 

# Don't barf if there are no matching files 
shopt -s nullglob 

# Make output directory 
mkdir -p "$diff" 2>/dev/null 

cd "$dir1" 
for f in *.png *.jpg; do 
    echo Processing $f... 

    compare "$f" "$dir2/$f" -highlight-color red png:- | 
     convert "$f" "$dir2/$f" +append - +append "$diff/$f" 

    # DEBUG 
    identify "$f" "$dir2/$f" "$diff/$f" 
    echo 
done 

Это оригинал, второй и разностное изображение для первого файла в папке все три montaged в единый, широкий образ, который вы можете пролистать в файловом браузере:

enter image description here

и это оригинал, второй, и разница изображения для второго файла в папке, а также montaged вместе в единый, широкий изображение:

enter image description here

Эти результирующие изображения появляются в папке diff и имеют те же имена, что и оригинальные образы.

+0

Выглядит хорошо :) Но есть две проблемы: 1) Когда я запускаю сценарий, у меня есть ошибка почти для каждого скриншота 'Обработка 1024-768.png ... монтаж: невозможно открыть изображение '/path/to/diff/www-lampiris-be/1024-768.png ': @ error/blob.c/OpenBlob/2587.' 2) Для немногих, которые работают, Создано diff image 384 x 126, немного немного для скриншотов 1xxxpx – Axiol

+0

Я немного улучшил код, вы можете попробовать еще раз? –

+0

Он правильно делает все различие. Но diff-изображения все еще 384 x 126. Может быть, это конфигурация ImageMagick? – Axiol

Смежные вопросы