Хочу рассказать историю потерянного выходного дня.
Часть 1: Пролог
Начиналось все, как обычно, хорошо - я просто решил добавить пару скриншотных тестов на canvas, который отрисовывается с анимацией библиотекой chart.js, в наш учебный проект qa.guru - Niffler.
Канвас - это такая штука, содержимое которой можно проверить только скриншотом - что там будет нарисовано, одному chart.js (в моем случае) известно. Т.к. отрисовка происходит с анимацией, то добавляем классический
Thread.sleep на пару секунд, делаем скриншот, сравниваем с expected. Здесь передаем привет докладам про "антипаттерны автотестов", где минут 10 говорят, что Thread.sleep в тестах быть не должно🤌Но, я не об этом.
Этот тест прекрасно работает локально, вот, буквально, 10 из 10 попыток - passed ✅
И 10 из 10 падает при попытках запустить в Selenoid (как на официальном
selenoid/vnc_chrome:127.0, так и на неофициальном twilio/selenoid:chrome_stable_135) 🔴Почему? Читай далее, а пока накидывай варианты ⬇️