KassiOS: слой в стиле Kaspresso поверх XCUITest, проверенный на сломанном банке

habrahabr.ru · economy
Full story

KassiOS grew out of the author's move from Appium to native iOS testing. A simple login flow in XCUITest kept requiring waitForExistence calls, retries, and custom helpers. The result is a Kaspresso-style layer over XCUITest. It offers taps with a shared wait budget that are not repeated after submission, re-reads a field after input, gives clearer failure messages, and supports parameterized tests. The author describes it as tested on a broken bank and says the aim was to check whether the tests catch bugs.

Я пришёл в нативное iOS-тестирование из Appium, и простой логин на XCUITest раз за разом обрастал waitForExistence, ретраями и самописными хелперами. Так появился KassiOS — слой в стиле Kaspresso поверх XCUITest: тап с общим бюджетом ожидания, который не повторяется после отправки, перечитывание поля после ввода, понятные сообщения о падениях, параметризованные тесты. Чтобы проверить, ловят ли тесты баги, я прогнал их против ChaosBank — приложения с включаемыми дефектами — и написал утилиту, которая включает дефекты по одному и показывает, какой из них прошёл незамеченным. Рассказываю, что из этого вышло, какие баги нашлись в самом фреймворке и кому он подойдёт, а кому нет. Читать далее

Read full article → Compare