私は、Webページの機能テストを自動化するためにSeleniumを使用しています。新しいコードを公開するときは、ピクセル単位での比較を行うことが重要です.Seleniumを使用してスクリーンショットを取得し、base64でエンコードされた文字列を比較して、何かが変更されているかどうかを確認しています。FuzzyとSeleniumとの比較
実際には、特に画像では、完全なピクセルの一貫性を得ることは困難です。私はマイナーなぼかし/レンダリング成果物を "失敗"の代わりに "合格"としてカウントしたいので、私たちのテストを脆弱なものにするためにあいまいな比較を行う方法があるのだろうかと思っています。
私はbase64文字列の間のLevenshtein距離を出発点として考えていましたが、それが良いアプローチであるかどうか、または「何かがページ上を移動した」 ""レンダリング成果物 "から"。任意のアイデア/アプローチ?
これは本当に涼しいですね!これまでImageMagickは私のために働いていましたので、おそらく私はそれを破った原則に固執しようとしていますが、私が最初からそれをやっていたのであれば、私は間違いなくperceptualdiffをチェックします。 – josh
作業中のものを変更しないことに強い同意 - すべてのプロジェクトのニーズは少し異なります。私は実際には一般的な外部diffサポートを可能にするために針を更新しているので、場合によってはImageMagick/GraphicsMagickを使用することができます。 –