Я использую Selenium для автоматизации функционального тестирования веб-страницы. Для нас важно сделать сравнение по пикселям при развертывании нового кода, поэтому мы используем Selenium для скриншотов и сравнения строк с кодировкой base64, чтобы увидеть, что-то изменилось.
Мы находим, что на практике трудно получить полную согласованность пикселей, особенно с изображениями. Я хотел бы, чтобы незначительные размытости/рендеринга артефактов считались "проходом" вместо "сбой", поэтому мне интересно, есть ли способ сделать нечеткое сравнение, чтобы наши тесты были немного менее хрупкими.
Я думал о том, что я мог бы взглянуть на расстояние Левенштейна между строками base64 в качестве отправной точки, но я действительно не знаю, хороший ли подход или какие допуски должны отличаться от того, что "что-то перемещалось на странице", от "рендеринга артефакта". Любые идеи/подходы?