
JS-инъекция для iOS-тестов: как подружить WKWebView и XCTest
Мы хотели, чтобы iOS-тесты видели внутри WebView те же data-testid, что и фронтенд. Вроде бы простая задача. Но iOS устроена хитрее: WKWebView запускает веб-контент в отдельном процессе — тестовый раннер туда не достучится. А UI-автоматизация на Android умеет залезать в WebView «из коробки», а на iOS — нет. Как решать? Не писать же тесты по пикселям. Спойлер: пришлось написать JS-скрипт, который сам проставляет aria-label на основе data-testid. Под катом — как это работает и почему без MutationObserver никуда. Читать далее