나는 웹 페이지 기능 테스트를 자동화하기 위해 셀레늄을 사용하고 있습니다. 새 코드를 만들 때 픽셀 별 비교를 수행하는 것이 중요합니다. 따라서 Selenium을 사용하여 스크린 샷을 찍고 base64 인코딩 된 문자열을 비교하여 변경 사항이 있는지 확인합니다.퍼지와 스크린 샷 비교
실제로 이미지에서 완전한 픽셀 일관성을 얻는 것은 어렵습니다. 사소한 blurriness/렌더링 artifacts가 "fail"대신에 "pass"로 간주되기를 바랍니다. 그래서 우리 테스트를 좀 덜 깨지기 쉽게하기 위해 퍼지 비교를하는 방법이 있는지 궁금합니다.
필자는 base64 문자열 사이의 Levenshtein 거리를 시작점으로 생각하고 있었지만, 이것이 좋은 접근 방법인지 아니면 허용 오차가 있어야 하는지를 실제로 알지 못합니다 "에서"렌더링 유물 ". 어떤 아이디어/접근법?
정말 멋지다! 지금까지 ImageMagick이 나를 위해 일해 왔기 때문에 아마 if-it-ain't-broken 원칙을 고수 할 것입니다.하지만 제가 처음부터 그것을한다면 분명히 perceptualdiff를 체크 할 것입니다. – josh
작동중인 무언가를 바꾸지 않는다는 강한 동의 - 모든 프로젝트의 요구는 약간 다릅니다. 나는 실제로 바늘을 업데이트하여 일반적인 외부 diff 지원을 허용하고 있으므로 일부 경우 ImageMagick/GraphicsMagick을 사용할 수 있습니다. –