Domande frequenti su AWS Device Farm

Esecuzione di test su dispositivi mobili reali

AWS Device Farm consente agli sviluppatori di migliorare qualità, tempi di commercializzazione e soddisfazione dei clienti, perché permette di testarle e interagire con dispositivi Android e iOS reali nel cloud AWS. Gli sviluppatori possono caricare la loro app per testare script ed eseguire test automatizzati in parallelo su centinaia di dispositivi reali, consultando quindi i risultati con screenshot, video e informazioni sulle prestazioni in pochi minuti. Possono anche eseguire il debug e riprodurre i problemi dei clienti utilizzando gesti, scorrendo le dita sullo schermo e interagendo manualmente con i dispositivi direttamente dal browser Web.

AWS Device Farm è un servizio progettato per consentire a sviluppatori, team di controllo qualità e rappresentanti dell'assistenza clienti che creano, testano e supportano app per dispositivi mobili di migliorarne la qualità. La qualità di un'applicazione è sempre più importante e sempre più difficile da ottenere, a causa dell'enorme numero di modelli di smartphone, versioni di firmware e sistemi operativi, dispositivi personalizzati da operatori e produttori e dipendenze da servizi remoti e altre app. AWS Device Farm rende più rapido il processo di sviluppo perché esegue test su più dispositivi, fornendo a sviluppatori e professionisti di controllo qualità e assistenza la possibilità di eseguire test automatizzati e altre attività manuali per riprodurre i problemi segnalati dai clienti, provare nuove funzionalità ed eseguire test specifici in prima persona. Grazie a AWS Device Farm, inoltre, è possibile risparmiare in modo significativo eliminando la necessità di istituire laboratori interni, assumere personale per dirigerli e implementare un'infrastruttura di automatizzazione.

AWS Device Farm supporta app Android e iOS e applicazioni Web e multipiattaforma, incluse quelle create con PhoneGap, Titanium, Xamarin, Unity e altri framework.

I test di AWS Device Farm vengono eseguiti su dispositivi reali. I dispositivi consistono in una combinazione di dispositivi OEM e con il marchio dell'operatore.

Configurazione di test e sessioni di accesso remoto

AWS Device Farm è compatibile con Internet Explorer 9 o versione successiva e con le versioni più recenti di Chrome, Firefox e Safari.

Le applicazioni Web saranno testate in Chrome su Android e in Safari su iOS.

AWS Device Farm supporta file con dimensiona massima di 4 GB.

Per eseguire i test integrati non è necessaria alcuna strumentazione né il codice sorgente. È sufficiente inviare le app Android. Le app iOS devono essere compilate con "Dispositivo iOS" come destinazione, invece di un simulatore.

Le applicazioni e i pacchetti di test vengono rimossi automaticamente dopo 30 giorni. I registri, registrazioni video e altri artefatti sono conservati per 400 giorni. Si può inoltre scegliere di eliminare file e risultati in ogni momento attraverso la console AWS Device Farm o tramite API.

Una volta completate tutte le operazioni, vengono eseguite su tutti i dispositivi una serie di attività di pulizia; ad esempio, viene eliminata l'applicazione oggetto del testing. Nel caso in cui non fosse possibile garantire la disinstallazione dell'applicazione o l'esecuzione di altre fasi della pulizia, il dispositivo sarà rimosso e non sarà più disponibile.

Sebbene la procedura di pulizia del dispositivo venga migliorata costantemente, anche con l'aggiunta di fasi aggiuntive, è possibile che alcuni dati vengano conservati oltre il termine delle singole sessioni, in particolare se è stato eseguito testing anche al di fuori del contesto dell'app. Per questo motivo, e poiché AWS Device Farm acquisisce immagini video e log delle attività eseguite durante l'utilizzo di ciascun dispositivo, si consiglia di non immettere informazioni sensibili, ad esempio dati relativi ad account (ad es. account Google, Apple ID), informazioni personali e altre informazioni di sicurezza durante il testing automatizzato o le sessioni di accesso remoto.

In iOS il profilo di provisioning incorporato viene sostituito con un profilo jolly e l'app viene firmata di nuovo. Se forniti, verranno aggiunti dati di supporto al pacchetto dell'applicazione prima dell'installazione, in modo che i dati siano presenti nella sandbox dell'app. La nuova firma all'app iOS comporta la rimozione di alcuni diritti. Tali diritti includono i diritti relativi a gruppo di app, domini associati, Game Center, HealthKit, HomeKit, caratteristica WAC (Wireless Accessory Configuration), acquisti in-app, Inter-App Audio, Apple Pay, notifiche push e configurazione e controllo della VPN.

In Android l'app viene firmata di nuovo. Per questo potrebbero verificarsi problemi di funzionalità, a seconda della firma dell'app, ad esempio all'API di Google Maps Android. Questa azione potrebbe anche attivare allarmi anti-pirateria e anti-manomissione di alcuni prodotti, come DexGuard. Per i test integrati, inoltre, il file manifest potrà essere modificato per includere le autorizzazioni necessarie per acquisire e salvare screenshot.

Selezione dispositivi

AWS Device Farm consente un'ampia scelta di dispositivi Android, iOS e Fire OS in continua espansione. Aggiungiamo costantemente nuovi dispositivi appena vengono commercializzati dai rispettivi produttori. Aggiungiamo inoltre nuovi dispositivi quando vengono rilasciate nuove versioni dei sistemi operativi. Per consultare un elenco dei dispositivi disponibili, apri questa pagina.

Al momento disponiamo di dispositivi internazionali provenienti dall’India. Il parco dispositivi viene aggiornato continuativamente in base alle informazioni di mercato e alle richieste dei clienti. Se desideri che venga incluso all'elenco un dispositivo che non è ancora presente, contattaci.

Per i test automatizzati, i dispositivi sono selezionati grazie a raccolte denominate pool di dispositivi. Alcuni pool di dispositivi vengono forniti automaticamente, ma è anche possibile creare un proprio pool personalizzato. Durante le fase operativa, i test vengono eseguiti su tutti i dispositivi all'interno del pool specificato compatibili con l'applicazione e con i test. Per Remote Access, puoi scegliere il dispositivo desiderato in base a marca, modello, variante personalizzata per un operatore e versione del sistema operativo. Potrai quindi caricare app e altri dati e configurare altre impostazioni del dispositivo. Device Farm cerca quindi un dispositivo disponibile che corrisponda alle richieste e ne mostra il display nel browser. Da quel momento potrai interagire con il dispositivo e acquisire screenshot e video.

Sì, i dispositivi di test hanno una serie di app preinstallate dal produttore o dall'operatore.

Sì. Tutti i dispositivi dispongono di una connessione WiFi con accesso a Internet. Se i sistemi sono interni (ovvero protetti da un firewall aziendale), è possibile inserire consentire l'intervallo di indirizzi IP compreso tra 54.244.50.32 e 54.244.50.63. Tutto il traffico dei dispositivi sarà proveniente da questi indirizzi IP.

Pur non potendo testare le connessioni con l’operatore effettive, è possibile simulare vari tipi e condizioni di connessione utilizzando la funzionalità di network shaping. Quando si programma un’esecuzione è possibile selezionare un profilo di rete curato come “3G” o “Lossy LTE” oppure crearne uno proprio, controllando parametri quali throughput, instabilità e perdite. Tutto il traffico WiFi dal dispositivo sarà formato e manipolato per la durata del test in base al profilo selezionato. È anche possibile simulare ambienti dinamici modificando i parametri di rete dagli script di testing.

No, i dispositivi non sono connessi con alcun operatore e non possono effettuare chiamate né inviare SMS.

Sì, è possibile utilizzare le fotocamere del dispositivo, sia quella anteriore sia quella posteriore. A causa del tipo della disposizione dei dispositivi, tuttavia, le immagini potranno essere scure o sfocate.

Testing dell'applicazione

I test di compatibilità integrati consentono di installare, disinstallare, avviare ed eseguire Fuzz sull'app.

Fuzz esegue un testing con dati casuali sull'interfaccia utente immediatamente dopo l'avvio. Simula input rapidi e casuali (tocchi, scorrimenti, input da tastiera) sull'app. È possibile configurare la quantità di eventi, l'intervallo tra un evento e l'altro e i semi per la generazione delle sequenze casuali. L'uso degli stessi semi in sessioni di testing differenti provocherà la stessa sequenza di eventi.

AWS Device Farm supporta i test su app native, ibride e Web per piattaforme Android e iOS. Per impostazione predefinita, supporta i seguenti framework: Appium Java JUnit, Appium Java TestNG, Appium Python, Appium Ruby, Appium NodeJS, Instrumentation - inclusi JUnit, Espresso e la maggior parte dei test basati sulla strumentazione, e XCTest - inclusi XCUI e KIF. Per ulteriori informazioni e un elenco completo dei framework supportati, consulta la nostra documentazione.

È possibile eseguire test scritti in Appium Java JUnit, Appium Java TestNG o Appium Python.

Valutiamo sempre la possibilità di supportare nuovi framework. Non esitare a contattarci.

Se usi i framework di automatizzazione supportati, hai il pieno controllo e potrai decidere quando acquisire screenshot. Tali screenshot vengono automaticamente inclusi nei report.

Sì, Google Play Services è installata sui dispositivi che la supportano. L'app è sempre aggiornata all'ultima versione disponibile.

No, i dispositivi non hanno alcun account Google attivo.

AWS Device Farm supporta framework quali Espresso e Robotium che dispongono di strumenti di scripting basati su registrazione e riproduzione.

No, AWS Device Farm sostituirà automaticamente un profilo di provisioning e firmerà di nuovo l'app, in modo che possa essere distribuita nei nostri dispositivi.

No, ma è possibile scaricare i log e simbolificare localmente le tracce dello stack.

Sì, se usi ProGuard. Se invece usi DexGuard con misure anti-pirateria, non potremo rieseguire l'accesso nell'app e quindi eseguire i test.

Anche se i dispositivi possono accedere a Internet, non forniamo alcuna garanzia che le inserzioni saranno visualizzate. Consigliamo di rimuovere le inserzioni dalle build di cui si esegue il testing su AWS Device Farm.

Sì. Se usi un framework client-server come Calabash, Appium o Automazione interfaccia utente, puoi accedere a Internet ed eseguire una quantità limitata di comandi shell.

Puoi fornire un archivio .zip di 4 GB massimo. In Android verrà estratto nella radice della memoria esterna, mentre in iOS verrà estratto nella sandbox dell'app. I file di espansione (OBB) di Android verranno automaticamente caricati nel percorso corretto a seconda della versione del sistema operativo. Per ulteriori informazioni, consulta la Developer Guide.

Sì, è possibile selezionare non solo le app da installare, ma anche l'ordine di installazione. Le app che costituiscono dipendenze saranno installate prima dell'avvio del testing.

Sì, per testare le procedure di upgrade è possibile caricare e installare una versione vecchia dell'applicazione prima dell'aggiornamento e del testing.

Sì, è possibile specificare le coordinate di latitudine e longitudine, che saranno usate per sovrascrivere il GPS del dispositivo.

Sì, è possibile fornire un'impostazione internazionale (ad esempio "en_US") che sovrascriverà l'impostazione di default sul dispositivo.

I test vengono inseriti in coda di esecuzione e vengono solitamente avviati nel giro di pochi minuti. Se uno o più dispositivi non sono disponibili, l'esecuzione del testing per quei dispositivi rimarrà in attesa finché non tornano disponibili. Il testing sugli altri dispositivi proseguirà.

La durata massima è di 150 minuti. 

Sì. È disponibile un plug-in per gli ambienti di integrazione continua in Jenkins e un plug-in Gradle compatibile con Android Studio. AWS Device Farm fornisce inoltre supporto programmatico per tutte le caratteristiche della console, inclusa l'impostazione di test e il download dei risultati tramite API. Per ulteriori informazioni, consulta la documentazione di riferimento delle API per AWS Device Farm. Oltre alle API, puoi accedere ad AWS Device Farm tramite i kit SDK AWS.

Consultazione dei risultati

I report di testing di AWS Device Farm contengono informazioni sui test superati e non superati, report sui crash, log relativi a testing e al dispositivo, screenshot, video e dati sulle prestazioni. I report includono inoltre dati approfonditi su ciascun dispositivo e informazioni dettagliate, ad esempio il numero di occorrenze di un determinato errore. I risultati relativi a Remote Access contengono log e video della sessione.

I report di AWS Device Farm contengono tutti i logcat (Android) e i log di dispositivo (iOS), nonché i log da host del dispositivo e framework di testing specificato.

Se si scrivono dati in logcat (Android) o nel log di dispositivo (iOS), le voci aggiunte saranno incluse nel report. AWS Device Farm non raccoglie log al di fuori di quelli standard né altri artefatti, anche se è possibile trasferire file tramite script di testing utilizzando la connessione Internet del dispositivo o dell'host del dispositivo.

Prezzi

La tariffa si basa sul minuto-dispositivo, determinato dalla durata dei test per il numero di dispositivi selezionati. AWS Device Farm prevede un piano di prova di 1.000 minuti-dispositivo.* Superata questa soglia, ai clienti viene addebitato il costo di 0.17 USD al minuto. In base alle tue esigenze, potrai anche aderire al piano di accesso illimitato, con cui potrai eseguire il testing senza limiti di tempo per 250 USD al mese per dispositivo.

I primi 1.000 minuti di utilizzo sono gratuiti. Si tratta di una versione di prova unica e non rinnovabile. Quando esaurisci l'allocazione di prova, ti sarà addebitata la tariffa standard di 0,17 USD al minuto.

Un minuto-dispositivo è l'unità di misura usata per la fatturazione. I minuti-dispositivo calcolano il tempo (in minuti) necessario per installare, eseguire e disinstallare l'app nonché eseguire il testing su tutti i dispositivi selezionati per la sessione. L'unità di prezzo è costante indipendentemente dal dispositivo, dal tipo di testing o dal tipo di applicazione. I minuti-dispositivo vengono fatturati solo per i test completati senza errori di dispositivo o di sistema. Analogamente, per le sessioni di Remote Access, i minuti-dispositivo sono calcolati dal momento in cui un dispositivo inizia ad essere preparato secondo le tue specifiche fino al momento in cui sono rimosse tutte le app e i dati caricati per il testing.

È possibile aumentare e diminuire l'utilizzo a seconda delle necessità aziendali senza alcun limite né impegni anticipati.

I primi 1.000 minuti di utilizzo sono gratuiti.* Si tratta di una prova unica, non rinnovabile. Quando esaurisci l'allocazione di prova, ti sarà addebitata la tariffa standard di 0,17 USD al minuto.

I piani di utilizzo illimitato consentono testing e accesso remoto senza limitazioni a partire da 250 USD al mese. Il prezzo per l'esecuzione di test illimitati si basa sul numero slot di dispositivi acquistati per ciascuna famiglia di dispositivi (ad esempio Android o iOS) ed è fissato a 250 USD al mese per slot di dispositivi. Gli slot di dispositivi corrispondono ai test sostenibili contemporaneamente.

Ad esempio, se acquisti dieci slot per test automatizzati su dispositivi Android e pianifichi una sessione su 100 dispositivi Android, Device Farm eseguirà i test su dieci dispositivi alla volta fino a quando tutti i test sono completati sui dispositivi selezionati. L'acquisto di più slot di dispositivi consente di ottenere i risultati più velocemente. Indipendentemente dal numero di test o di sessioni di accesso remoto eseguiti in un mese, verrà addebitata una tariffa fissa di 250 USD per slot al mese. È possibile annullare l'abbonamento per uno o più slot di dispositivi in qualsiasi momento; l'annullamento avrà effetto alla data di rinnovo successiva (il giorno del mese in cui hai acquistato il primo slot di dispositivo). È possibile acquistare slot dalla console di AWS Device Farm, dall'interfaccia a riga di comando di AWS o dall'API di AWS Device Farm. Per ulteriori informazioni, consulta la documentazione.

Puoi aggiungere slot di dispositivi in qualsiasi momento; i nuovi slot saranno immediatamente disponibili. È anche possibile annullare l'abbonamento per uno o più slot di dispositivi in qualsiasi momento; l'annullamento avrà effetto alla data di rinnovo successiva (il giorno del mese in cui hai acquistato il primo slot di dispositivo).

Sì. Quando crei una sessione, puoi decidere di utilizzare gli slot di dispositivi con piano illimitato o applicare invece la tariffazione al minuto. Poiché la fatturazione a minuto non limita la simultaneità, puoi eseguire test più velocemente rispetto all'utilizzo degli slot.

Un dispositivo privato è un'istanza fisica di un telefono o un tablet, esclusiva del tuo account. I dispositivi privati possono avere configurazioni statiche personalizzate ed eseguire immagini di sistemi operativi personalizzate. Ciascun dispositivo è distribuito in modo automatico e viene rimosso dal sistema al termine dell'abbonamento.

Ciascun dispositivo privato del tuo account è considerato come un abbonamento per dispositivo privato. Il prezzo dell'abbonamento mensile varia in base al costo del dispositivo e parte da 200 USD al mese. Dopo il periodo di abbonamento minimo, puoi scegliere di annullare il tuo abbonamento in qualsiasi momento. Per ulteriori informazioni, contattaci.

Sì. Selezionando i dispositivi per un test o una sessione di accesso remoto, verranno visualizzati sia i dispositivi privati che quelli pubblici. È anche possibile creare pool di dispositivi privati e pubblici. Per ulteriori informazioni sui dispositivi privati, contattaci.

Test nei browser desktop

Selenium è un framework open source che automatizza l'interazione con il browser Web. Ulteriori informazioni su Selenium sono disponibili qui.

Device Farm consente di eseguire i test Selenium in browser desktop e versioni dei browser differenti ospitati in AWS Cloud. Device Farm segue un modello di esecuzione lato client per i test Selenium, ad esempio, i test vengono eseguiti sul computer locale dell'utente ma interagiscono con i browser ospitati in AWS Device Farm mediante l'API Selenium.

Per iniziare, consulta la guida relativa alle nozioni di base qui.

Tutti i browser sono ospitati in istanze Windows per EC2 eseguite su Microsoft Windows Server.

Puoi visualizzare un elenco dei browser desktop e delle versioni di browser supportate qui.

Puoi consultare un elenco delle vantaggiose funzionalità Selenium supportate da Device Farm qui.

Device Farm genera log della console, log dei driver Web, log delle azioni e registrazioni video dell'intero test per consentire la risoluzione dei problemi segnalati dagli errori dei test.

Sì. Device Farm supporta il test delle app Web sui dispositivi mobili reali mediante Appium. Per ulteriori informazioni per il test Web con Appium, consulta la guida dello sviluppatore . Tieni presente che per il test sui dispositivi mobili reali Device Farm segue un modello di esecuzione lato server, pertanto è necessario caricare i test nel servizio.

Tutti i limiti relativi a questa funzionalità sono disponibili qui.

La tariffa si basa sui minuti dell'istanza che sono determinati dalla durata dei test per ciascuna istanza del browser selezionata. Ti saranno addebitati 0,005 USD per minuto dell'istanza del browser.

Un minuto dell'istanza è l'unità di fatturazione per i test eseguiti nei browser desktop in Device Farm. I minuti dell'istanza sono una misura del tempo necessario (misurato in minuti appunto) per eseguire i test in ogni istanza del browser selezionata per l'esecuzione dei test. Il costo per unità di 0,005 USD è sempre lo stesso, indipendentemente dal browser o dalla versione del browser selezionata. Non viene addebitato alcun costo per avviare, inizializzare o arrestare l'istanza EC2 che ospita il browser.