Les proves d'interfície d'usuari (UI) són essencials per assegurar que la teva aplicació funcioni correctament des del punt de vista de l'usuari. Aquest tipus de proves simulen les interaccions de l'usuari amb la teva aplicació per verificar que totes les funcionalitats es comporten com s'espera.

Objectius d'Aprenentatge

En aquesta secció, aprendràs:

  • Què són les proves d'interfície d'usuari.
  • Com configurar un entorn de proves d'interfície d'usuari a Xcode.
  • Com escriure i executar proves d'interfície d'usuari.
  • Bones pràctiques per a les proves d'interfície d'usuari.

Què són les Proves d'Interfície d'Usuari?

Les proves d'interfície d'usuari són un tipus de proves automatitzades que simulen les accions de l'usuari en la teva aplicació. Aquestes proves poden incloure:

  • Tocar botons.
  • Introduir text en camps de text.
  • Desplaçar-se per llistes.
  • Verificar que certs elements de la interfície apareguin o desapareguin.

Configurant l'Entorn de Proves d'Interfície d'Usuari a Xcode

Pas 1: Crear un Nou Target de Proves d'Interfície d'Usuari

  1. Obre el teu projecte a Xcode.
  2. Selecciona el teu projecte a la navegació de projectes.
  3. Fes clic al botó "+" a la secció de "Targets".
  4. Selecciona "iOS UI Testing Bundle" i fes clic a "Next".
  5. Assigna un nom al teu target de proves d'interfície d'usuari i fes clic a "Finish".

Pas 2: Configurar el Target de Proves

  1. Assegura't que el target de proves d'interfície d'usuari estigui seleccionat.
  2. Afegeix qualsevol framework necessari a la secció "Linked Frameworks and Libraries".

Escriure i Executar Proves d'Interfície d'Usuari

Exemple de Prova d'Interfície d'Usuari

A continuació, es mostra un exemple de com escriure una prova d'interfície d'usuari bàsica:

import XCTest

class MyAppUITests: XCTestCase {

    override func setUp() {
        super.setUp()
        
        // Parem l'execució immediatament quan una prova falla.
        continueAfterFailure = false

        // Llença l'aplicació que es provarà. Això es fa per a cada prova.
        XCUIApplication().launch()
    }

    override func tearDown() {
        super.tearDown()
    }

    func testExample() {
        let app = XCUIApplication()
        
        // Simula tocar un botó amb l'etiqueta "MyButton"
        app.buttons["MyButton"].tap()
        
        // Verifica que un label amb l'etiqueta "MyLabel" existeixi
        XCTAssertTrue(app.staticTexts["MyLabel"].exists)
    }
}

Explicació del Codi

  • setUp(): Aquest mètode s'executa abans de cada prova. Aquí, configurem l'entorn de proves i llancem l'aplicació.
  • tearDown(): Aquest mètode s'executa després de cada prova. Aquí, podem netejar qualsevol configuració que hàgim fet a setUp().
  • testExample(): Aquest és un exemple de prova. Utilitzem XCUIApplication per interactuar amb l'aplicació i XCTAssertTrue per verificar que un element existeixi.

Executar les Proves

  1. Selecciona el target de proves d'interfície d'usuari.
  2. Fes clic al botó de reproducció (play) o utilitza la drecera de teclat Cmd + U per executar les proves.

Bones Pràctiques per a les Proves d'Interfície d'Usuari

  • Mantén les proves curtes i específiques: Cada prova hauria de verificar una funcionalitat específica.
  • Utilitza identificadors d'accessibilitat: Assigna identificadors d'accessibilitat als elements de la interfície per facilitar la seva identificació en les proves.
  • Evita les dependències entre proves: Cada prova hauria de ser independent i no dependre de l'estat deixat per una altra prova.
  • Executa les proves regularment: Integra les proves d'interfície d'usuari en el teu procés d'integració contínua per detectar problemes tan aviat com sigui possible.

Errors Comuns i Consells

  • Proves fràgils: Les proves que depenen de la temporització o de l'ordre específic dels elements poden ser fràgils. Utilitza esperes explícites (XCTWaiter) per assegurar-te que els elements estan disponibles abans d'interactuar amb ells.
  • No utilitzar identificadors d'accessibilitat: Sense identificadors d'accessibilitat, les proves poden ser difícils de mantenir. Assigna identificadors únics a tots els elements interactius.
  • No netejar l'estat després de les proves: Assegura't que cada prova comenci amb un estat net per evitar efectes col·laterals.

Conclusió

Les proves d'interfície d'usuari són una part crucial del desenvolupament d'aplicacions per assegurar que la teva aplicació funcioni correctament des del punt de vista de l'usuari. Amb Xcode, pots configurar fàcilment un entorn de proves d'interfície d'usuari, escriure proves efectives i integrar-les en el teu flux de treball de desenvolupament. Seguint les bones pràctiques i evitant errors comuns, pots millorar significativament la qualitat de la teva aplicació.

© Copyright 2024. Tots els drets reservats