Pruebas de interfaz con XCUITest
Automatice toques y aserciones en las pantallas.
Pruebas de interfaz con XCUITest es una lección gratuita de SwiftUI Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de SwiftUI Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de SwiftUI Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
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. 🎉
Preguntas frecuentes
¿La lección «Pruebas de interfaz con XCUITest» es gratis?
Sí — el texto completo de «Pruebas de interfaz con XCUITest» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de SwiftUI Academy, actualiza a CoddyKit PRO. El curso de SwiftUI Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Pruebas de interfaz con XCUITest»?
Automatice toques y aserciones en las pantallas. Practicas SwiftUI Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar SwiftUI Academy?
No se requiere experiencia previa. SwiftUI Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Pruebas de interfaz con XCUITest»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de SwiftUI Academy?
Sí. Cada lección de SwiftUI Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Pruebas unitarias de ViewModels
- Probar código asíncrono
- Pruebas de interfaz con XCUITest
- Pruebas con snapshots y previews