Come configurare Appium su dispositivi iOS e Android

Pubblicato: 2024-03-26

Scopri come configurare Appium su dispositivi iOS e Android con la nostra guida completa. Inizia oggi stesso con l'automazione dei test mobili!

Anche alcune app mobili di e-commerce hanno riconosciuto l'importanza di implementare una solida strategia di test delle app mobili utilizzando metodologie di applicazione mobile. Queste app sono state sottoposte a test approfonditi, utilizzando varie strategie mobili per garantire la compatibilità.

La crescente importanza di Appium diventa evidente man mano che le organizzazioni e le aziende rispondono alla crescente domanda di applicazioni mobili scegliendo sempre più Appium per sviluppare app scalabili a cui è possibile accedere su varie piattaforme. Questo cambiamento è guidato dalla necessità cruciale di creare applicazioni mobili che non solo soddisfino le aspettative degli utenti ma funzionino anche in modo efficace e coerente.

In questo articolo scopri come configurare Appium su dispositivi iOS e Android e testare le tue app in una farm di dispositivi online.

Cos'è il test mobile?

Il primo si concentra sulla convalida della qualità di un dispositivo esaminandone i componenti hardware e le funzionalità software, inclusi lo schermo, le applicazioni e la fotocamera. Quest'ultimo, invece, si concentra esclusivamente sulla coerenza e funzionalità dell'applicazione software, garantendo una perfetta compatibilità con il dispositivo per quanto riguarda hardware, software e connettività.

Esistono tre tipi principali di applicazioni mobili, ciascuno con caratteristiche distinte:

Applicazioni mobili native:

Queste applicazioni sono realizzate meticolosamente per piattaforme specifiche, come Android, iOS o Windows SDK. Sono ottimizzati per funzionare perfettamente su dispositivi o piattaforme designati, come esemplificato dalle app iOS progettate esclusivamente per i dispositivi Apple. Esempi degni di nota includono Snapchat, Google Maps e Skype.

Applicazioni Web mobili:

Sviluppate esclusivamente per browser mobili, queste applicazioni sono progettate utilizzando linguaggi basati sul Web come JavaScript, CSS e HTML. La loro caratteristica distintiva è che non richiedono installazione o aggiornamenti da parte dell'utente, rendendoli una soluzione economicamente vantaggiosa. Esempi degni di nota includono AliExpress, OLX e Flipkart.

Applicazioni mobili ibride:

Unendo le funzionalità delle applicazioni native e web, le app ibride offrono la flessibilità di installazione su dispositivi nativi durante l'esecuzione tramite browser.

Prerequisiti per la configurazione di Appium

Per intraprendere il viaggio verso l'automazione dei test delle applicazioni mobili utilizzando Appium, è necessario prestare attenzione a diversi componenti software e hardware essenziali:

  • Scarica e installa Appium Desktop/Server.
  • Installa JDK (kit di sviluppo Java).
  • Scarica e installa Java e configura la variabile di ambiente.
  • Scarica e configura Android SDK (Software Development Kit).
  • Installa Eclipse.
  • Installa il nodo JS.
  • Acquisisci jar client Java e jar Selenium.
  • Ottieni APK: applicazioni di automazione mobile.
  • Preparare i dispositivi mobili.
  • Installa i driver USB per i dispositivi mobili.

Come funziona Appium su Android

Il test di Appium sui dispositivi Android prevede l'utilizzo del test case UIAutomator per verificare la funzionalità e l'affidabilità delle applicazioni. Ciò garantisce che le applicazioni funzionino come previsto nelle condizioni reali dell'utente, mantenendo una coerenza ottimale.

Sfruttare Appium per automatizzare le app Android offre numerosi vantaggi. Semplifica il flusso di lavoro dei test automatizzando le azioni ripetitive, consentendo ai tester del QA di approfondire scenari di test più complessi. I test automatizzati possono essere eseguiti frequentemente, con conseguente maggiore copertura dei test e rilevamento rapido delle regressioni.

Utilizzo di dispositivi Android reali nel cloud: vantaggi

Prima di approfondire i dettagli dell'automazione delle app Android con Appium in questo blog, è essenziale comprendere il concetto di provider cloud per dispositivi reali. Questi fornitori forniscono l'automazione Appium all'interno di un'infrastruttura cloud e offrono l'accesso a dispositivi originali, piattaforme diverse e browser ospitati sul cloud.

Le piattaforme di orchestrazione ed esecuzione dei test basate sull'intelligenza artificiale, come LambdaTest, sfruttano le funzionalità dell'intelligenza artificiale e offrono un'ampia farm di dispositivi online che comprende oltre 3.000 dispositivi e sistemi operativi reali. Questa infrastruttura consente test scalabili su più dispositivi attraverso una griglia Appium. Inoltre, piattaforme come LambdaTest facilitano l'automazione delle app Android su emulatori Android online.

Best practice per l'esecuzione dei test Appium sui dispositivi Android

  • Download dei componenti necessari (Appium Server, file Appium Jar e Java).
  • Installazione di Java e configurazione delle variabili di ambiente.
  • Scrittura di script di test Appium per dispositivi Android con la modalità sviluppatore abilitata.
  • Esecuzione di test su dispositivi Android reali per garantire una facilità d'uso ottimale.

Vantaggi dell'automazione del test delle app iOS con Appium

Appium ha dimostrato notevoli progressi e sta rapidamente emergendo come uno strumento di test di automazione preferito per le applicazioni mobili. Circa il 35% delle organizzazioni preferisce Appium rispetto agli strumenti di test funzionali gratuiti/open source.

Diamo un'occhiata ad alcuni vantaggi significativi dei test di automazione di iOS Appium. Sebbene esistano alternative per l'automazione iOS, Appium si distingue per la sua natura user-friendly e l'ampio supporto della community.

Funzionalità multipiattaforma:

Appium è intrinsecamente "multipiattaforma", consentendo gli stessi test su più piattaforme, come iOS, Android e Windows. Non è necessaria alcuna modifica del codice quando si utilizzano le API, contribuendo alla modularità degli script di test.

Eliminazione delle dipendenze extra:

A partire dalla versione Appium 1.15.0, Appium comunica con un dispositivo reale tramite appium-ios-device, eliminando la necessità di dipendenze aggiuntive. La documentazione ufficiale su appium-xcuitest-driver funge da preziosa risorsa per risolvere le dipendenze.

Supporto per le principali versioni iOS:

Appium fornisce supporto per le principali versioni di iOS. Apple XCUITest supporta la versione iOS 9.3 e successive, mentre UI Automator di Apple supporta le versioni precedenti alla 9.3. Ulteriori informazioni su XCUITest possono essere ottenute tramite questo tutorial sui test XCUITest.

Nessuna ricompilazione dell'app richiesta:

A differenza di alcuni framework che richiedono la ricompilazione dell'app, Appium funziona senza richiedere modifiche al codice dell'applicazione. Ciò significa che non è necessario apportare modifiche al codice o aprire il progetto in XCode; puoi semplicemente utilizzare il file .app per automatizzare l'applicazione.

Esecuzione senza problemi:

Appium supporta un'esecuzione senza problemi facilitando i test su dispositivi reali, test sul cloud, nonché simulatori ed emulatori. Questa flessibilità consente la perfetta esecuzione di suite di automazione su varie piattaforme.

Come funziona Appium su iOS

Similmente alla sua controparte Android, Appium utilizza l'API Apple UIAutomation per testare gli elementi dell'interfaccia utente sui dispositivi iOS. Ciò comporta l'uso di servizi RESTful inviando file JSON per interagire con le applicazioni iOS, utilizzando elementi dell'interfaccia utente come pulsanti ed etichette di testo tramite UIAutomation AP di Apple.

Avvia l'automazione delle app iOS utilizzando Appium

I passaggi fondamentali per condurre test delle app iOS con Appium sono descritti di seguito:

Installa Appium e le dipendenze:

Assicurati che Appium sia installato sul tuo dispositivo seguendo la procedura di installazione descritta nelle sezioni precedenti.

Preparare l'ambiente iOS:

Per automatizzare le app iOS, un computer macOS è essenziale, poiché l'automazione iOS di Appium si basa su Xcode, disponibile esclusivamente su macOS. Garantire l'installazione degli strumenti da riga di comando Xcode.

Simulatore o dispositivo iOS:

L'automazione delle app iOS può essere eseguita su un simulatore iOS o su un dispositivo iOS fisico. Garantire l'accessibilità al dispositivo o al simulatore desiderato.

Avvia Appium Server:

Avvia il server Appium e specifica l'indirizzo e la porta del server nelle impostazioni di Appium.

Definire le capacità desiderate:

Nello script di test di Appium, articola le funzionalità desiderate pertinenti ai test iOS. Queste funzionalità comprendono dettagli come nome della piattaforma, versione della piattaforma, nome del dispositivo e percorso dell'app.

Imposta il framework di automazione:

Appium utilizza XCUITest come framework di automazione per i test iOS. Imposta la funzionalità automationName su "XCUITest" per indicare l'uso di questo framework.

Installazione dell'app iOS:

Specificare l'app destinata all'automazione utilizzando la funzionalità dell'app.

Inizializza il driver Appium:

Nello script di test, crea un'istanza di un driver Appium per iOS specificando l'URL del server Appium e le funzionalità desiderate definite.

Comporre casi di test:

Localizzatori come XPath o ID di accessibilità possono essere utilizzati per individuare gli elementi.

Eseguire casi di test:

Esegui lo script di test Appium per eseguire l'automazione. Lo script avvierà l'app iOS sul dispositivo o simulatore selezionato ed eseguirà le azioni specificate.

Analizzare i risultati del test:

Appium fornisce registri e rapporti di test completi, aiutando nell'analisi dei risultati dei test. Ciò consente l'identificazione di eventuali problemi o errori nei casi di test.

Debug e perfezionamento:

In caso di errori dei test case o di necessità di miglioramento, esegui il debug e perfeziona i tuoi script in modo iterativo. Questo processo garantisce l'affidabilità e l'efficacia dei test automatizzati.

Limitazioni

Nessun supporto per le app Windows:

Appium si rivolge prevalentemente ad Android e iOS, rendendolo inadatto per testare le app Windows.

Funzionalità limitate del simulatore iOS:

L'accesso ad alcune funzionalità avanzate del simulatore iOS potrebbe essere limitato quando si utilizza Appium.

Limitazioni dell'app nativa:

Testare funzionalità specifiche delle app native, come l’autenticazione biometrica, può porre sfide all’interno del framework Appium.

Best practice per eseguire test Appium su dispositivi iOS

  • Installazione e avvio del server Appium sul dispositivo prima del test.
  • Raccolta delle informazioni necessarie sul dispositivo iOS per configurare le funzionalità desiderate.
  • Creazione di un nuovo progetto in Eclipse per lo scripting di scenari di test Appium per dispositivi iOS.
  • Ispezione dell'interfaccia utente iOS utilizzando Appium Desktop Inspector per un debug accurato.
  • Esecuzione di test su dispositivi iOS reali per ottenere i risultati attesi.

Conclusione

Le funzionalità multipiattaforma e le funzionalità intuitive di Appium hanno portato alla sua diffusa adozione per testare applicazioni mobili su entrambe le piattaforme iOS e Android. Tuttavia, è essenziale stabilire i componenti software e hardware chiave prima di avviare i test delle applicazioni con Appium. Questa configurazione prevede la configurazione di un server Appium e l'installazione di JDK, Java, SDK e altri elementi necessari. Una volta installati correttamente questi componenti, è possibile condurre test efficienti.