AWS Device Farm riferimento all'azione di test - AWS CodePipeline

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à.

AWS Device Farm riferimento all'azione di test

Nella tua pipeline, puoi configurare un'azione di test AWS Device Farm da utilizzare per eseguire e testare l'applicazione sui dispositivi. Device Farm utilizza pool di test di dispositivi e framework di test per testare le applicazioni su dispositivi specifici. Per informazioni sui tipi di framework di test supportati dall'azione Device Farm, vedere Working with Test Types in AWS Device Farm.

Tipo di operazione

  • Categoria: Test

  • Proprietario: AWS

  • Provider: DeviceFarm

  • Versione: 1

Parametri di configurazione

AppType

Obbligatorio: sì

Il sistema operativo e il tipo di applicazione che stai testando. Di seguito è riportato un elenco di valori validi:

  • iOS

  • Android

  • Web

ProjectId

Obbligatorio: sì

L'ID del progetto Device Farm.

Per trovare l'ID del progetto, nella console Device Farm, scegli il tuo progetto. Nel browser, copiare l'URL del nuovo progetto. L'URL contiene l'ID del progetto. L'ID del progetto è il valore nell'URL successivoprojects/. Nell'esempio seguente, l'ID del progetto èeec4905f-98f8-40aa-9afc-4c1cfexample.

https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
App

Obbligatorio: sì

Il nome e la posizione del file dell'applicazione nell'elemento di input. Ad esempio: s3-ios-test-1.ipa

TestSpec

Condizionale: Sì

La posizione del file di definizione delle specifiche di test nell'artefatto di input. Questo è necessario per il test in modalità personalizzata.

DevicePoolArn

Obbligatorio: sì

L'ARN del pool di dispositivi Device Farm.

Per ottenere il pool di dispositivi disponibile ARNs per il progetto, incluso l'ARN per i dispositivi principali, utilizza la AWS CLI per immettere il seguente comando:

aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
TestType

Obbligatorio: sì

Speciifica il framework di test supportato per il test. Di seguito è riportato un elenco di valori validi perTestType:

  • APPIUM_JAVA_JUNIT

  • APPIUM_JAVA_TESTNG

  • NODO_APPIUM

  • APPIUM_RUBY

  • APPIUM_PYTHON

  • APPIUM_WEB_JAVA JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • NODO APPIUM_WEB

  • APPIUM_WEB_RUBY

  • APPIUM_WEB_PYTHON

  • BUILTIN_FUZZ

  • INSTRUMENTATION

  • XCTEST

  • XCTEST_UI

Nota

I seguenti tipi di test non sono supportati dall'azione in CodePipeline:WEB_PERFORMANCE_PROFILE, e. REMOTE_ACCESS_RECORD REMOTE_ACCESS_REPLAY

Per informazioni sui tipi di test di Device Farm, vedere Working with Test Types in AWS Device Farm.

RadioBluetoothEnabled

Obbligatorio: no

Un valore booleano che indica se abilitare il Bluetooth all'inizio del test.

RecordAppPerformanceData

Obbligatorio: no

Un valore booleano che indica se registrare dati sulle prestazioni del dispositivo come CPU, FPS e prestazioni della memoria durante il test.

RecordVideo

Obbligatorio: no

Un valore booleano che indica se registrare video durante il test.

RadioWifiEnabled

Obbligatorio: no

Un valore booleano che indica se abilitare il Wi-Fi all'inizio del test.

RadioNfcEnabled

Obbligatorio: no

Un valore booleano che indica se abilitare NFC all'inizio del test.

RadioGpsEnabled

Obbligatorio: no

Un valore booleano che indica se abilitare il GPS all'inizio del test.

Test

Obbligatorio: no

Il nome e il percorso del file di definizione del test nella posizione di origine. Il percorso è relativo alla cartella principale dell'artefatto di input del test.

FuzzEventCount

Obbligatorio: no

Il numero di eventi dell'interfaccia utente che il fuzz test deve eseguire, compreso tra 1 e 10.000.

FuzzEventThrottle

Obbligatorio: no

Il numero di millisecondi di attesa del fuzz test prima di eseguire il successivo evento dell'interfaccia utente, compreso tra 1 e 1.000.

FuzzRandomizerSeed

Obbligatorio: no

Un seme per il fuzz test da utilizzare per randomizzare gli eventi dell'interfaccia utente. Utilizzando lo stesso numero per i fuzz test successivi si ottengono sequenze di eventi identiche.

CustomHostMachineArtifacts

Obbligatorio: no

La posizione sul computer host in cui verranno archiviati gli elementi personalizzati.

CustomDeviceArtifacts

Obbligatorio: no

La posizione sul dispositivo in cui verranno archiviati gli artefatti personalizzati.

UnmeteredDevicesOnly

Obbligatorio: no

Un valore booleano che indica se utilizzare solo i dispositivi illimitati durante l'esecuzione dei test in questa fase.

JobTimeoutMinutes

Obbligatorio: no

Il numero di minuti di esecuzione di un test per dispositivo prima del timeout.

Latitudine

Obbligatorio: no

La latitudine del dispositivo espressa in gradi del sistema di coordinate geografiche.

Longitudine

Obbligatorio: no

La longitudine del dispositivo espressa in gradi del sistema di coordinate geografiche.

Input artifact (Artefatti di input)

  • Numero di artefatti: 1

  • Descrizione: L'insieme di artefatti da mettere a disposizione dell'azione di test. Device Farm cerca l'applicazione integrata e le definizioni di test da utilizzare.

Artefatti di output

  • Numero di artefatti: 0

  • Descrizione: gli artefatti di output non si applicano a questo tipo di azione.

Autorizzazioni per i ruoli di servizio: azione AWS Device Farm

Quando CodePipeline viene eseguita l'azione, la policy del ruolo di CodePipeline servizio richiede le seguenti autorizzazioni, assegnate in modo appropriato all'ARN della risorsa della pipeline per mantenere l'accesso con il minimo privilegio. Ad esempio, aggiungi quanto segue alla tua dichiarazione politica:

{ "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "resource_ARN" },

Dichiarazione dell'operazione

YAML
Name: Test Actions: - Name: TestDeviceFarm ActionTypeId: null category: Test owner: AWS provider: DeviceFarm version: '1' RunOrder: 1 Configuration: App: s3-ios-test-1.ipa AppType: iOS DevicePoolArn: >- arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5 ProjectId: eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE TestType: APPIUM_PYTHON TestSpec: example-spec.yml OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2
JSON
{ "Name": "Test", "Actions": [ { "Name": "TestDeviceFarm", "ActionTypeId": null, "category": "Test", "owner": "AWS", "provider": "DeviceFarm", "version": "1" } ], "RunOrder": 1, "Configuration": { "App": "s3-ios-test-1.ipa", "AppType": "iOS", "DevicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5", "ProjectId": "eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE", "TestType": "APPIUM_PYTHON", "TestSpec": "example-spec.yml" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2" },

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.