Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tutorial: crea una pipeline con cui testare la tua app iOS AWS Device Farm
Puoi utilizzarla AWS CodePipeline per configurare facilmente un flusso di integrazione continua in cui la tua app viene testata ogni volta che il bucket di origine cambia. Questo tutorial illustra come creare e configurare una pipeline per testare l'app iOS compilata da un bucket S3. La pipeline rileva l'arrivo di una modifica salvata tramite Amazon CloudWatch Events, quindi utilizza Device Farm per testare l'applicazione creata.
Importante
Come parte della creazione di una pipeline, per gli artefatti verrà utilizzato un bucket di artefatti S3 fornito dal cliente. CodePipeline (Questo è diverso dal bucket utilizzato per un'azione sorgente S3.) Se il bucket di artefatti S3 si trova in un account diverso da quello della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di utenti sicuri e affidabili. Account AWS
Importante
Molte delle azioni che aggiungi alla pipeline in questa procedura coinvolgono AWS risorse che devi creare prima di creare la pipeline. AWS le risorse per le tue azioni di origine devono sempre essere create nella stessa AWS regione in cui crei la pipeline. Ad esempio, se crei la pipeline nella regione Stati Uniti orientali (Ohio), il tuo CodeCommit repository deve trovarsi nella regione Stati Uniti orientali (Ohio).
Puoi aggiungere azioni interregionali quando crei la pipeline. AWS le risorse per le azioni interregionali devono trovarsi nella stessa AWS regione in cui intendi eseguire l'azione. Per ulteriori informazioni, consulta Aggiungere un'azione interregionale in CodePipeline.
Puoi sperimentare utilizzando una tua app iOS preesistente oppure puoi utilizzare l'app iOS di esempio.
Nota
Prima di iniziare
-
Accedi alla AWS Device Farm console e scegli Crea un nuovo progetto.
-
Scegliere il progetto. Nel browser, copia il file URL del tuo nuovo progetto. URLContiene l'ID del progetto.
-
Copiare e conservare questo ID del progetto. Lo usi quando crei la tua pipeline in CodePipeline.
Ecco un URL esempio di progetto. Per estrarre l'ID del progetto, copiare il valore dopo
projects/
. In questo esempio l'ID del prodotto èeec4905f-98f8-40aa-9afc-4c1cfexample
.https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
Configura CodePipeline per utilizzare i test Device Farm (esempio Amazon S3)
-
Creare o utilizzare un bucket S3 con la funzione versioni multiple attivata. Per creare un bucket S3, segui le istruzioni contenute in Passaggio 1: crea un bucket sorgente S3 per la tua applicazione.
-
Nella console Amazon S3 del tuo bucket, scegli Carica e segui le istruzioni per caricare il tuo file.zip.
L'applicazione di esempio deve essere compressa in un file .zip.
-
Per creare la pipeline e aggiungere una fase di origine, procedi nel seguente modo:
Accedi a AWS Management Console e apri la console all' CodePipeline indirizzo. https://console.aws.amazon.com/codepipeline/
-
Scegliere Create pipeline (Crea pipeline). Nella pagina Step 1: Choose pipeline settings (Fase 1: scelta delle impostazioni della pipeline), in Pipeline name (Nome pipeline), immettere il nome della pipeline.
-
Nel tipo di pipeline, scegli V2. Per ulteriori informazioni, consulta Tipi di tubazioni. Scegli Next (Successivo).
-
Alla voce Service role (Ruolo del servizio), lasciare selezionato New service role (Nuovo ruolo del servizio) e lasciare immutata la voce Role name (Nome ruolo). È anche possibile scegliere di utilizzare un ruolo di servizio esistente, se disponibile.
Nota
Se si utilizza un ruolo CodePipeline di servizio creato prima di luglio 2018, è necessario aggiungere le autorizzazioni per Device Farm. A tale scopo, apri la IAM console, trova il ruolo, quindi aggiungi le seguenti autorizzazioni alla politica del ruolo. Per ulteriori informazioni, consulta Aggiunta delle autorizzazioni dal ruolo di servizio CodePipeline.
{ "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "*" }
-
Lasciare i valori predefiniti delle impostazioni in Advanced settings (Impostazioni avanzate), quindi scegliere Next (Successivo).
-
Nella pagina Fase 2: aggiunta fase di origine in Source provider (Provider origine) scegliere Amazon S3.
-
Nella posizione Amazon S3, inserisci il bucket, ad esempio, e la chiave oggetto
my-storage-bucket
, ad esempios3-ios-test-1.zip
per il tuo file.zip. -
Scegli Next (Successivo).
-
Alla voce Build (Compila), creare un segnaposto per la fase di compilazione della pipeline. In questo modo è possibile creare la pipeline nella procedura guidata. Dopo aver utilizzato la procedura guidata per creare la pipeline a due fasi, questo segnaposto per la fase di compilazione non è più necessario. Una volta completata la creazione della pipeline, questa seconda fase viene eliminata e viene aggiunta la nuova fase di test nel passaggio 5.
-
Alla voce Build provider (Provider di compilazione), scegliere Add Jenkins (Aggiungi Jenkins). Questa selezione per la compilazione è un segnaposto. Non viene utilizzato.
-
Alla voce Provider name (Nome provider), inserire un nome. Il nome è un segnaposto. Non viene utilizzato.
-
In Server, inserisci il URL testo. Il testo è un segnaposto. Non viene utilizzato.
-
Alla voce Project name (Nome progetto), inserire un nome. Il nome è un segnaposto. Non viene utilizzato.
-
Scegli Next (Successivo).
-
Nella pagina Step 4: Add deploy stage (Fase 4: aggiunta della fase di distribuzione), scegli Skip deploy stage (Ignora fase di distribuzione), quindi accetta il messaggio di avviso scegliendo Skip (Ignora).
-
Nella Step 5: Review (Fase 5: revisione), scegliere Create pipeline (Crea pipeline). Dovresti visualizzare uno schema che mostra le fasi di origine e compilazione.
-
-
Aggiungi un'azione di test di Device Farm alla tua pipeline come segue:
-
In alto a destra, scegli Edit (Modifica).
-
Scegli Edit stage (Modifica fase). Scegli Elimina. Ciò elimina il segnaposto della fase ora che non è più necessaria per la creazione della pipeline.
-
In fondo al diagramma, scegliere + Add stage (+ Aggiungi fase)
-
In "Nome fase", immetti un nome per la fase, ad esempio Test, quindi scegli Add stage (Aggiungi fase).
-
Scegliere + Add action group (+ Aggiungi gruppo di operazioni).
-
In Nome azione, inserisci un nome, ad esempio DeviceFarmTest.
-
In Action provider, scegli AWS Device Farm. Consenti a Region (Regione) di preimpostarsi sulla regione della pipeline.
-
In Input artifacts (Artefatti di input), scegli l'artefatto di input che corrisponde all'artefatto di output della fase precedente alla fase di test, ad esempio
SourceArtifact
.Nella AWS CodePipeline console, puoi trovare il nome dell'elemento di output per ogni fase passando il mouse sull'icona delle informazioni nel diagramma della pipeline. Se la pipeline verifica l'app direttamente dalla fase Source, scegli. SourceArtifact Se la pipeline include una fase di creazione, scegli. BuildArtifact
-
Nel ProjectId, scegli l'ID del tuo progetto Device Farm. Utilizzare la procedura all'inizio di questo tutorial per recuperare l'ID del progetto.
-
In DevicePoolArn, inserisci il file ARN per il pool di dispositivi. Per ottenere il pool di dispositivi disponibile ARNs per il progetto, incluso quello ARN per i dispositivi principali, usa il comando AWS CLI per immettere il seguente comando:
aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:
account_ID
:project:project_ID
-
Nel AppType, inserisci iOS.
Di seguito è riportato un elenco di valori validi per AppType:
-
iOS
-
Android
-
App
-
-
In App, inserisci il percorso del pacchetto dell'applicazione compilata. Il percorso è relativo alla cartella principale dell'artefatto di input della fase di sviluppo. Di solito, questo percorso è simile a
ios-test.ipa
. -
In TestType, inserisci il tipo di test, quindi in Test, inserisci il percorso del file di definizione del test. Il percorso è relativo alla cartella principale dell'artefatto di input del test.
Se utilizzi uno dei test Device Farm integrati, inserisci il tipo di test configurato nel tuo progetto Device Farm, ad esempio BUILTIN _FUZZ. In FuzzEventCount, inserisci un tempo in millisecondi, ad esempio 6000. In FuzzEventThrottle, immettete un tempo in millisecondi, ad esempio 50.
Se non stai utilizzando uno dei test Device Farm integrati, inserisci il tipo di test, quindi in Test inserisci il percorso del file di definizione del test. Il percorso è relativo alla cartella principale dell'artefatto di input del test.
Di seguito è riportato un elenco di valori validi per TestType:
-
APPIUM_JAVA_JUNIT
-
APPIUM_JAVA_TESTNG
-
APPIUM_NODE
-
APPIUM_RUBY
-
APPIUM_PYTHON
-
APPIUM_WEB_JAVA_JUNIT
-
APPIUM_WEB_JAVA_TESTNG
-
APPIUM_WEB_NODE
-
APPIUM_WEB_RUBY
-
APPIUM_WEB_PYTHON
-
BUILTIN_FUZZ
-
INSTRUMENTATION
-
XCTEST
-
XCTEST_UI
Nota
I nodi di ambiente personalizzati non sono supportati.
-
-
Nei campi rimanenti, inserire la configurazione appropriata per il test e il tipo di applicazione.
-
(Facoltativo) IN Advanced (Avanzate), fornire informazioni di configurazione per la sessione di test.
-
Seleziona Salva.
-
Nella fase che stai modificando, scegli Done (Fatto). Nel riquadro AWS CodePipeline , scegli Save (Salva) e quindi scegli Save (Salva) sul messaggio di avviso.
-
Per inviare le modifiche e avviare l'esecuzione della pipeline, scegli Release change (Rilascia modifica) e quindi scegli Release (Rilascia).
-