Багато розробників, які використовують автоматизоване тестування, зіткнулися з проблемою: інструмент ModHeader перестав працювати в Selenium. Це сталося не лише через видалення розширення з магазинів, а й через фундаментальні зміни в архітектурі браузера Chrome. Перехід на Manifest V3 призвів до того, що застарілі версії розширень, які базувалися на MV2, більше не завантажуються. Оскільки пакет chrome-modheader не оновлювався, тисячі CI-конвеєрів зараз виконують код, який фактично нічого не робить.
Крім того, Google Chrome версії 137 і новіші ігнорують прапорець --load-extension, який раніше використовувався для підключення розширень через ChromeDriver. Це означає, що старі методи автоматизації стали недієвими. Розробникам, які покладалися на ModHeader для додавання заголовків у запити, довелося шукати альтернативні способи інтеграції, щоб підтримувати стабільність своїх тестових середовищ та забезпечувати коректну маршрутизацію запитів до тестових серверів.
Найпростішим рішенням для додавання заголовків до кожного запиту є використання вбудованих можливостей сучасних фреймворків. Playwright дозволяє легко встановлювати extraHTTPHeaders безпосередньо в контексті браузера. Для користувачів Selenium 4 доступний протокол DevTools, який дозволяє виконувати команду Network.setExtraHTTPHeaders. Ці методи є надійними та не потребують встановлення додаткових розширень, що значно спрощує налаштування інфраструктури для більшості стандартних сценаріїв тестування.
Однак існують випадки, коли вбудованих засобів недостатньо. Якщо ваші тести потребують зміни заголовків відповідей, видалення певних заголовків або застосування правил лише до конкретних URL-адрес, використання розширення залишається актуальним. У таких ситуаціях варто звернути увагу на сучасні аналоги, наприклад, Headerwise. Це розширення підтримує архітектуру Manifest V3 і пропонує спеціальний режим автоматизації, який дозволяє керувати заголовками через прості URL-запити.
Для тих, хто вже має велику базу тестів, написаних під ModHeader, існують способи міграції без повної переробки коду. Деякі сучасні розширення підтримують аналогічні URL-структури для додавання або очищення заголовків, що дозволяє замінити лише файл розширення. Це мінімізує зусилля, необхідні для адаптації існуючих тестових наборів до нових вимог безпеки Chrome, забезпечуючи при цьому сумісність із хмарними сервісами тестування, які підтримують Chrome for Testing.
Вибір методу залежить від ваших конкретних потреб. Якщо вам потрібно просто додавати однакові заголовки всюди, використовуйте вбудовані функції фреймворків. Якщо ж ви працюєте зі складними правилами CORS, CSP або потребуєте специфічної обробки для різних доменів, обирайте перевірені розширення з підтримкою MV3. У випадках, коли тестування виходить за межі браузера або вимагає роботи з Firefox, найкращим рішенням залишається використання проксі-сервера, хоча це потребує додаткового керування сертифікатами.
Підсумовуючи, технологічний ландшафт автоматизації постійно змінюється, і відмова від застарілих інструментів є неминучою. Перехід на актуальні методи не лише підвищує безпеку ваших тестів, але й робить їх більш стійкими до майбутніх оновлень браузерів. Рекомендуємо переглянути поточні конфігурації CI/CD та замінити непрацюючі компоненти на сучасні рішення, щоб уникнути проблем із достовірністю результатів тестування у 2026 році.
🔗 Першоджерело: Читати оригінал
