#html5-canvas #cypress
#html5-холст #cypress
Вопрос:
Я хотел бы использовать Cypress для тестирования веб-страницы, которая позволяет пользователям рисовать на холсте HTML.
Мой тест включает в себя последовательность щелчков по холсту, за которыми следует cy.screenshot
(если быть точным, четыре щелчка, за каждым из которых следует вызов screenshot
, чтобы я мог просматривать скриншоты и видеть, как изображение развивается щелчок за щелчком.)
Когда я смотрю, как тесты выполняются в интерактивном режиме, я вижу, что объекты появляются на холсте, как и ожидалось. Однако после завершения тестов, когда я просматриваю файлы скриншотов, холст остается пустым. Остальная часть страницы отображается, как и ожидалось.
Тесты выполняются, как и ожидалось, из командной строки, используя cypress run
— я вижу объекты на холсте, как и ожидалось.
Я использую Cypress 3.2.0 на macOS 10.14.4.
Есть идеи, что я могу делать неправильно?
Комментарии:
1. Вы запускаете свои тесты в Chrome / Electron? Позволяет ли выполнение вашего теста в другом браузере сделать снимок экрана?
<canvas>
Насколько я вижу, открытых проблем с поддержкой нет, но вы, возможно, выделили здесь проблему2. Я запускаю cypress из командной строки, используя
cypress open
. Затем нажмите на файл спецификации, чтобы запустить тесты. Тест выполняется внутри частного окна, открытого cypress.3. В правом верхнем углу приложения Cypress есть выпадающее меню, в котором вы можете менять браузеры. Проверьте это, пожалуйста, и дайте мне знать, работаете ли вы в Chrome или Electron, и имеет ли какое-либо значение замена браузера.
4. Изображение переключателя: i.imgur.com/gbt2Sr2.png
5. Как странно: только что я запустил Chrome 73, затем Electron 59. Когда я нажимаю на имя файла спецификации, для запуска и открытия окна браузера требуется почти 90 секунд. Но, как только он открылся, тесты в основном выполнялись так, как ожидалось: я могу наблюдать, как холст рисуется во время выполнения тестов, а файлы скриншотов содержат ожидаемые изображения; но шаги «-СКРИНШОТ» в тестовом окне содержат пустой холст. (Последняя часть для меня не проблема; я просто подумал, что вы можете найти информацию полезной.)