Come eseguire lo stesso script su più dispositivi utilizzando Appium

Il test automatico delle applicazioni mobili esiste già da un po’. All’inizio era considerato un lusso avere una suite di test automatizzati per la propria applicazione. Ma ora è diventata una parte essenziale di DevOps.

I vantaggi dei test di automazione sono molti, ma i tre seguenti sono i più importanti:

  • Aumento della copertura dei test: I test di automazione consentono di testare più funzionalità in meno tempo. Questo significa che potete aumentare la copertura dei test senza aumentare il budget per i test.
  • Riduzione del rischio di errore umano: I test di automazione hanno meno probabilità di mancare i casi limite o di avere altri errori quando si testa manualmente un’applicazione.
  • Riscontro più rapido: I test automatizzati possono essere eseguiti molto più velocemente dei test manuali. Ciò significa che potete ottenere un feedback sulla vostra applicazione molto prima, il che può aiutarvi a risolvere i problemi prima che diventino gravi.

Il test di automazione delle applicazioni mobili è un processo prezioso che può aiutarvi a rilasciare applicazioni di qualità migliore in meno tempo.

Ma la domanda che si pone qui è: coprite abbastanza dispositivi per testare la vostra applicazione e renderla di qualità eccellente. Testare l’applicazione su un singolo dispositivo o su molti può portare a problemi specifici del dispositivo, problemi di interfaccia utente in diverse risoluzioni e problemi funzionali in diverse versioni del sistema operativo.

Perché eseguire lo stesso script su più dispositivi è importante?

Testare un’applicazione su diversi dispositivi è un passaggio importante nel processo di QA. Dobbiamo essere sicuri che la nostra applicazione funzioni con diversi dispositivi, versioni di sistema operativo e dimensioni dello schermo.

Esistono molte ragioni per cui è importante testare le applicazioni su diversi dispositivi. Una delle ragioni più importanti è che gli utenti possono utilizzare differenti tipi di dispositivi per accedere alla stessa app. Non possiamo prevedere quale dispositivo utilizzerà un utente per accedere all’app, quindi dobbiamo assicurarci che funzioni. Per garantire questo, possiamo facilmente eseguire il nostro Script di Automazione su più dispositivi.

Come eseguire lo stesso script su più dispositivi usando Appium?

Quando eseguiamo il nostro script Appium, dobbiamo passare le capacità desiderate di Appium, che includono platformName, platformVersion e il nostro deviceName.

{
"platformName": "iOS",
"platformVersion": "11.0",
"deviceName": "iPhone 9",
"automationName": "XCUITest",
"app": "/path/to/my.app"
}

Copied

Per eseguire il nostro script di test su un altro dispositivo, dobbiamo modificare le capacità desiderate del nostro script di test, in modo che questo esegua il nostro script di test su quel dispositivo specifico. Non dobbiamo modificare il nostro script di test per eseguirlo su diversi dispositivi. Tuttavia, potrebbe essere diverso dall’esecuzione di script di test su dispositivi Android e iOS perché i segnali di ricerca degli elementi possono differire su dispositivi Android e iOS. Ma un script scritto per qualsiasi dispositivo Android o iOS può essere eseguito su tutti i dispositivi con lo stesso SO cambiando le capacità desiderate.

Sfide nella gestione di multipli dispositivi

Eseguire il vostro script su molti dispositivi è una cosa facile da fare nel processo di testing automatizzato, ma la gestione di questi dispositivi e l’avere molti dispositivi è la parte più difficile e un affare costoso per il vostro processo di automazione. Se ci occupiamo solo degli iPhone, ha dall’iPhone6 all’iPhone13, utilizzati dagli utenti con una miscela di iOS11 a iOS16. E quando si tratta di Android, questi numeri aumentano in maniera significativa. Nessun team può gestire o possedere tutti i dispositivi popolari presenti sul mercato con differenti versioni del SO.

Emulatore/Simulatore come alternativa

Prima di tutto, ciò che ci viene in mente per risolvere questo è l’uso di emulatori e simulatori per differenti dispositivi. Ma testare su un emulatore/simulatore non è lo stesso di testare su dispositivi reali. Sebbene simulatori e emulatori siano in grado di imitare molto da vicino, è impossibile eseguire gli stessi test di un dispositivo reale. Questo perché emulatori non possono tenere conto di ogni singolo fattore ambientale, caratteristica o azione utente eseguita su un dispositivo reale. L’avantage dei dispositivi reali è nel nome. Testare su dispositivi fisici reali significa che state testando nel modo in cui i vostri utenti operano i loro dispositivi.

Testare su dispositivi reali: Vantaggio

Qui BrowserStack entra in scena come salvatore per risolvere il problema della dispersione dei dispositivi. BrowserStack App Automate offre tutti i popolari dispositivi con differenti versioni di sistema operativo per testare automaticamente le vostre applicazioni usando Appium. È possibile integrare BrowserStack facilmente nel vostro framework per testare i vostri script su molti dispositivi.

Eseguire script Appium su dispositivi multipli usando BrowserStack

Eseguire i tuoi script di test su BrowserStack con dispositivi multipli è abbastanza semplice usando App Automate. Devi solo seguire alcuni passaggi per cambiare le tue configurazioni e integrerà la tua esistente automazione dei test con BrowserStack.

Passaggio 2: Carica il tuo file .apk o .ipa su BrowserStack. Puoi farlo usando Carica la tua App sul tuo Dashboard o puoi anche usare le API per caricare automaticamente. Otterrai un URL dell’app dopo aver caricato la tua applicazione.

{
"app_url":"bs://f7c874f21852ba57957a3fdc33f47514288c4ba4"
}

Copied

Fase 3: Specifica l’applicazione da testare utilizzando la funzionalità app. Usa il valore app_url restituito al caricamento dell’app (Fase 2) per impostare questa funzionalità.

  • Specifica il dispositivo Android o iOS reale che vuoi testare utilizzando la funzionalità device.
  • Per inizializzare un driver Appium, utilizza un URL remoto di BrowserStack insieme alle tue credenziali di accesso BrowserStack (menzionate nella fase 1) come mostrato di seguito:

https://YOUR_USERNAME:[email protected]/wd/hub

Sarà simile a questo:

userName = "YOUR_USERNAME"
accessKey = "YOUR_ACCESS_KEY"
desired_caps = { "build": "Android",
"device": "Samsung Galaxy S8 Plus",
platformVersion": "11.0",
"app": "<app_url>"
}
driver = webdriver.Remote("https://" + userName + ":" + accessKey +
"@hub-cloud.browserstack.com/wd/hub", desired_caps)

Copied

Facendo ciò, il tuo script Appium inizia a funzionare su BrowserStack Real Devices nel cloud.

 Puoi facilmente cambiare il dispositivo modificando il suo nome e la versione della piattaforma nei desired caps. Su BrowserStack, puoi anche eseguire il tuo test in parallelo per completare l’automazione più velocemente. BrowserStack fornisce Video, Device Logs, Network Logs e Appium Logs per il debug, e puoi controllare le tue esecuzioni di test sulla tua Dashboard. BrowserStack può aiutarti a eseguire i tuoi Test Script con dispositivi multipli, e non devi gestire questi dispositivi da solo.

Per concludere,

App Automate di BrowserStack rende facile la testazione su molti dispositivi reali. Modificando semplicemente le Capabilities Desiderate, l’utente può facilmente eseguire test su migliaia di dispositivi e determinare sistematicamente se il proprio applicativo è pronto per l’uscita o meno. I team di QA troveranno facile utilizzare il dashboard dei risultati per trovare e risolvere i problemi in modo istantaneo.

Esegui test Appium gratuitamente

Source:
https://www.browserstack.com/guide/how-to-run-same-script-in-multiple-devices-using-appium