比较 bash 个屏幕截图
Compare bash of screenshots
这就是我所在的位置:我想自动化视觉回归。因此,我使用 CasperJS
拍摄了一些多种尺寸的示例屏幕截图。我也可以用它来截取实际情况的屏幕截图。所有的截图都有相同的名字,只是在两个不同的文件夹中。
问题是:如何自动进行测试?我正在寻找一个有点像 ImageMagick
中的 compare
的解决方案,它给我两个版本的叠加并突出显示差异。但它应该适用于多个文件。
有什么想法吗?
我会在 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
这是文件夹中第一个文件的原始图像、第二个图像和差异图像,所有三个图像拼接在一起成为一个单一的宽幅图像,您可以在文件浏览器中快速浏览:
这是文件夹中第二个文件的原始图像、第二个图像和差异图像,也拼接在一起成为单个宽幅图像:
这些结果图像出现在名为 diff
的文件夹中,并且与原始图像同名。
这就是我所在的位置:我想自动化视觉回归。因此,我使用 CasperJS
拍摄了一些多种尺寸的示例屏幕截图。我也可以用它来截取实际情况的屏幕截图。所有的截图都有相同的名字,只是在两个不同的文件夹中。
问题是:如何自动进行测试?我正在寻找一个有点像 ImageMagick
中的 compare
的解决方案,它给我两个版本的叠加并突出显示差异。但它应该适用于多个文件。
有什么想法吗?
我会在 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
这是文件夹中第一个文件的原始图像、第二个图像和差异图像,所有三个图像拼接在一起成为一个单一的宽幅图像,您可以在文件浏览器中快速浏览:
这是文件夹中第二个文件的原始图像、第二个图像和差异图像,也拼接在一起成为单个宽幅图像:
这些结果图像出现在名为 diff
的文件夹中,并且与原始图像同名。