KassiOS — это open-source фреймворк, созданный как надстройка над нативным XCUITest для iOS. Инструмент переносит принципы Kaspresso в экосистему Apple, позволяя описывать UI-тесты через экранные объекты и автоматизировать ожидания, ретраи и формирование отчетов без внешних серверов.
Фреймворк автоматически проверяет элементы при загрузке экрана и делает каждый шаг отдельной активностью в отчете Xcode. Методы взаимодействия, такие как tap(), самостоятельно обрабатывают прокрутку к элементу и скрытие клавиатуры, а функции вроде replaceText проверяют изменение состояния элемента после действия, предотвращая ложноположительные результаты.
Для тестирования эффективности KassiOS автор использовал приложение ChaosBank с переключаемыми дефектами. Набор тестов был расширен с 34 до 71 сценария, что позволило выявить все 59 заложенных в систему ошибок. Утилита kassios mutants автоматизирует проверку того, какие именно тесты реагируют на конкретные дефекты, запуская их по очереди.
В состав KassiOS входят дополнительные инструменты: kassios lint для аудита экранных объектов, kassios agent для управления разрешениями и геолокацией симулятора, а также KassHTTP для подготовки состояния через API. Поддерживается работа с WKWebView, запись видео при падении тестов и интеграция с отчетами Allure и JUnit.
Автор рекомендует использовать KassiOS, если существующие хелперы XCUITest стали избыточными, если критически важна точность тестирования платежных форм или если команда знакома с Kaspresso и хочет унифицировать структуру тестов на iOS. Инструмент не рекомендуется для небольших проектов, где достаточно стандартных средств XCUITest.


