- Strumenti per sviluppatori›
- AWS Device Farm›
- Domande frequenti
Domande frequenti su AWS Device Farm
Esecuzione di test su dispositivi mobili reali
Cos'è AWS Device Farm?
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.
A chi è rivolto AWS Device Farm e perché?
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.
Quali tipi di applicazione supporta AWS Device Farm?
AWS Device Farm supporta app Android e iOS e applicazioni Web e multipiattaforma, incluse quelle create con PhoneGap, Titanium, Xamarin, Unity e altri framework.
AWS Device Farm impiega simulatori o emulatori?
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
Come si inizia a usare AWS Device Farm?
Consulta la guida alle operazioni di base.
Quali browser supporta la console di AWS Device Farm?
AWS Device Farm è compatibile con Internet Explorer 9 o versione successiva e con le versioni più recenti di Chrome, Firefox e Safari.
Quali browser sono supportati per il testing di applicazioni Web?
Le applicazioni Web saranno testate in Chrome su Android e in Safari su iOS.
Quali sono le dimensioni massime di un file per app e test?
AWS Device Farm supporta file con dimensiona massima di 4 GB.
È necessario strumentare l'app o fornire il codice sorgente?
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.
L'app, i test e gli altri file sono memorizzati suoi server di Amazon? Per quanto tempo?
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.
In che modo è possibile cancellare i dati dai dispositivi una volta terminato il testing?
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.
L'app subisce modifiche?
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
Quali dispositivi sono disponibili in AWS Device Farm? Come vengono scelti i 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.
AWS Device Farm dispone anche di dispositivi internazionali provenienti da mercati quali Europa, Cina e India?
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.
Come si selezionano i dispositivi? È possibile eseguire più volte il testing sullo stesso dispositivo?
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.
Sui dispositivi usati da AWS Device Farm per i test sono presenti app preinstallate?
Sì, i dispositivi di test hanno una serie di app preinstallate dal produttore o dall'operatore.
I dispositivi potranno comunicare con altri servizi o sistemi disponibili tramite Internet?
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.
È possibile testare connessioni con l'operatore e condizioni diverse?
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.
È possibile effettuare chiamate o inviare SMS dai dispositivi di test?
No, i dispositivi non sono connessi con alcun operatore e non possono effettuare chiamate né inviare SMS.
È possibile utilizzare la fotocamera del dispositivo?
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
Non sono ancora disponibili script di testing automatizzati specifici per l'app. Cosa prevedono i test integrati?
I test di compatibilità integrati consentono di installare, disinstallare, avviare ed eseguire Fuzz sull'app.
Quali operazioni esegue Fuzz?
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.
Di solito eseguo il testing in un framework di automatizzazione. Quali framework sono supportati?
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.
Quali sono i framework di testing supportati per le applicazioni Web?
È possibile eseguire test scritti in Appium Java JUnit, Appium Java TestNG o Appium Python.
È possibile aggiungere il supporto per un framework modificato o personalizzato?
Valutiamo sempre la possibilità di supportare nuovi framework. Non esitare a contattarci.
In che modo AWS Device Farm stabilisce quando acquisire uno screenshot durante il testing?
Se usi i framework di automatizzazione supportati, hai il pieno controllo e potrai decidere quando acquisire screenshot. Tali screenshot vengono automaticamente inclusi nei report.
Android: sui dispositivi è disponibile Google Play Services? Quale versione è installata?
Sì, Google Play Services è installata sui dispositivi che la supportano. L'app è sempre aggiornata all'ultima versione disponibile.
Android: sui dispositivi è presente un account Google predefinito?
No, i dispositivi non hanno alcun account Google attivo.
AWS Device Farm supporta la registrazione e la riproduzione automatica oppure è necessario scrivere script personalizzati?
AWS Device Farm supporta framework quali Espresso e Robotium che dispongono di strumenti di scripting basati su registrazione e riproduzione.
iOS: devo aggiungere gli UDID di Amazon al mio profilo di provisioning?
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.
iOS: la mia app non contiene simboli di debug. Posso fornire un file dSYM ad AWS Device Farm?
No, ma è possibile scaricare i log e simbolificare localmente le tracce dello stack.
Android: la mia app contiene codice offuscato. È comunque possibile eseguirne il testing su AWS Device Farm?
Sì, se usi ProGuard. Se invece usi DexGuard con misure anti-pirateria, non potremo rieseguire l'accesso nell'app e quindi eseguire i test.
La mia app contiene inserzioni. Verranno visualizzate sui dispositivi di testing? È possibile che il mio provider di inserzioni lo consideri un uso illecito e chiuda il mio account?
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.
È possibile accedere alla macchina su cui è ospitato il dispositivo o accedere alla shell durante il testing? È possibile accedervi tramite Internet?
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.
Vorrei fornire all'app file multimediali e altri dati da usare durante il testing. Come si fa?
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.
Per testare tutte le funzionalità, l'app richiede delle dipendenze. È possibile installare altre applicazioni?
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.
È possibile testare le procedure di aggiornamento dell'app? Come si installa una versione non aggiornata dell'applicazione?
Sì, per testare le procedure di upgrade è possibile caricare e installare una versione vecchia dell'applicazione prima dell'aggiornamento e del testing.
L'applicazione fa uso di servizi di localizzazione. È possibile specificare una posizione fisica sul dispositivo?
Sì, è possibile specificare le coordinate di latitudine e longitudine, che saranno usate per sovrascrivere il GPS del dispositivo.
È possibile testare anche la traduzione dell'app? Come si modifica la lingua dei dispositivi?
Sì, è possibile fornire un'impostazione internazionale (ad esempio "en_US") che sovrascriverà l'impostazione di default sul dispositivo.
Quanto tempo occorre per avviare il testing?
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à.
Qual è la durata massima di testing consentita?
La durata massima è di 150 minuti.
Con AWS Device Farm è possibile eseguire i test e ottenere i risultati tramite un'API?
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
Cosa contiene il report di testing di AWS Device Farm?
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.
Quali log di dispositivo sono inclusi nei report di AWS Device Farm?
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.
I test dell'app generano e salvano file di log aggiuntivi. È possibile vederli nei report di AWS Device Farm?
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
Quanto costa AWS Device Farm?
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.
Come funziona la versione di prova gratuita?
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.
Cos'è un minuto-dispositivo?
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.
Come funziona la versione di prova gratuita?
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.
Cos'è il piano illimitato e come funzionano gli slot di dispositivi?
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.
Cosa devo fare se le mie esigenze di testing aumentano e voglio aggiungere o rimuovere slot di dispositivi?
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).
Se ho sottoscritto un piano illimitato, posso utilizzare comunque la fatturazione al minuto?
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.
Che cos'è un dispositivo privato?
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.
Come funzionano gli abbonamenti per i dispositivi privati e come vengono determinati i prezzi?
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.
È possibile utilizzare sia dispositivi privati che pubblici?
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
Che cos'è Selenium?
Selenium è un framework open source che automatizza l'interazione con il browser Web. Ulteriori informazioni su Selenium sono disponibili qui.
Che cosa sono i test nei browser desktop in AWS Device Farm?
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.
Come posso iniziare a eseguire test nei browser desktop in AWS Device Farm?
Per iniziare, consulta la guida relativa alle nozioni di base qui.
In quale sistema operativo sono ospitati i browser?
Tutti i browser sono ospitati in istanze Windows per EC2 eseguite su Microsoft Windows Server.
Quali browser desktop supporta AWS Device Farm?
Puoi visualizzare un elenco dei browser desktop e delle versioni di browser supportate qui.
Quali funzionalità vantaggiose supporta AWS Device Farm?
Puoi consultare un elenco delle vantaggiose funzionalità Selenium supportate da Device Farm qui.
Quali artefatti sono disponibili per la risoluzione dei problemi segnalati dagli errori dei test?
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.
Posso utilizzare AWS Device Farm per eseguire il test delle app Web su dispositivi mobili reali?
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.
Quali sono i limiti dei test nei browser desktop in AWS Device Farm?
Tutti i limiti relativi a questa funzionalità sono disponibili qui.
Quanto costa il test nei browser desktop su AWS Device Farm?
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.
Cosa si intende per minuto di istanza?
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.