0Pricing
SwiftUI Academy · Урок

UI-тесты с XCUITest

Автоматизируйте нажатия и проверки на экранах.

«UI-тесты с XCUITest» — бесплатный урок SwiftUI Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SwiftUI Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SwiftUI Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

What UI Tests Do

UI tests drive your app like a real person: they tap, type, and swipe, then check the screen reacted correctly. 📱

A Separate Test Target

UI tests live in their own UI Testing target. Xcode adds it when you create the project or from the test navigator later.

Launching the App

Every UI test starts by launching a fresh app instance with XCUIApplication. This gives you a clean state to work from.

let app = XCUIApplication()
app.launch()

Finding Elements

You reach controls through queries like buttons, staticTexts, and textFields. Each query finds elements by their kind on screen.

app.buttons["Add"]

Tapping a Button

Call tap on an element to simulate a finger press. The app responds exactly as it would for a real user.

app.buttons["Add"].tap()

Typing Text

Tap a field first, then send keystrokes with typeText. This is how you fill in forms during a test.

app.textFields["name"].typeText("Sam")

Accessibility Identifiers

Give views a stable accessibilityIdentifier so tests find them even when the visible label changes or is localized.

.accessibilityIdentifier("addButton")

Asserting What Appears

Check the result with exists. It returns true when the element is on screen, confirming your action worked.

XCTAssertTrue(app.staticTexts["Done"].exists)

Waiting for Elements

If content loads after a delay, use waitForExistence with a timeout. The test pauses until the element shows up. ⏳

label.waitForExistence(timeout: 3)

Record to Learn

New to queries? Use Xcode's record button. It writes code as you tap, giving you a starting point to clean up.

Keep UI Tests Few

UI tests are slower than unit tests. Cover key flows like sign-in and checkout, and leave the rest to faster unit tests.

Quick Check

What is the most reliable way for a UI test to find a control?

Recap

You drove the app with XCUITest: launch it, query controls, tap and type, then assert with exists. Real user flows, automated. 🎉

Часто задаваемые вопросы

Урок «UI-тесты с XCUITest» бесплатный?

Да — полный текст урока «UI-тесты с XCUITest» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SwiftUI Academy, подпишись на CoddyKit PRO. Курс SwiftUI Academy содержит 4 уроков всего.

Чему я научусь в уроке «UI-тесты с XCUITest»?

Автоматизируйте нажатия и проверки на экранах. Ты практикуешь SwiftUI Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать SwiftUI Academy?

Предыдущий опыт не требуется. SwiftUI Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «UI-тесты с XCUITest»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке SwiftUI Academy?

Да. Каждый урок SwiftUI Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Модульное тестирование ViewModels
  2. Тестирование асинхронного кода
  3. UI-тесты с XCUITest
  4. Тестирование по снимкам и предварительным просмотрам
← Назад к SwiftUI Academy