Conversation
|
This pull request is being automatically deployed with Vercel (learn more). 🔍 Inspect: https://vercel.com/gooditworks/base-frontend/9LF56qoBN9rTpdf6iECwSckgECdR |
Имхо самый простой и разумный вариант. Делается же элементарно на уровне GA Actions. Запускать тесты на macOS — будет очень очень дорого, это не годится и не масштабируемо для нас. |
|
Еще увидел чей-то чужой PR такой: process-analytics/bpmn-visualization-js#1709 А у нас как? Через jest запускается или отдельно? Прочти этот PR, там вроде много умного. |
…оты страниц в тестах PW
Ага, таких страшных однострочников на баше я ещё не видел. Тем не менее всё таки нашел способ заставить Playwright не писать платформу в имени файлов: // force Playwright for same screenshot filenames on various platforms
test.beforeEach(({page}, testInfo) => {
// eslint-disable-next-line no-param-reassign
testInfo.snapshotSuffix = "multi_platform"
})
Отдельно
Умного много, полезного (нам) не очень |
|
Тем не менее, тест всё равно падает из-за разных шрифтов на разных платформах. Установка одного шрифта (из Google Fonts) не помогает, вероятно не успевает прогрузится. Потом разберусь, не сейчас |
|
Не разобрался. Походу он не зря дописывают платформу в имя скриншота, ибо даже с одинаковыми шрифтами страницы отличаются на разных платформах микро-оступами, достаточными для провала тестов. Помогает только сильное повышение threshold, что делает эти тесты почти бессмысленными. Пока отключил (но не удалял) GA. Пока хватит того, что он запускается в pre-push |
Описание изменений
Обратить внимание
Playwright запускается в Github Actions на дорогом macos-11
Это сделано из-за того, что в названия файлов snapshot'ов Playwright дописывает названия ядра системы (в нашем случае
-darwin). Но, если мы запустим тесты на другой системе (например Линуксе в GA), то он не увидит эти скрины и завалит тест (потому что будет искать скриншоты-linux).Отключить это нельзя.
Есть несколько вариантов решения проблемы:
cp snapshot-darwin.png snapshot-linux.png)Чеклист