Configurazione dei test end-to-end Cypress per l'applicazione Amplify - AWS Amplify Ospitare

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

Configurazione dei test end-to-end Cypress per l'applicazione Amplify

Puoi eseguire test end-to-end (E2E) nella fase di test dell'app Amplify per catturare le regressioni prima di inviare il codice alla produzione. La fase di test può essere configurata nelle specifiche di build. YAML Attualmente, puoi eseguire solo il framework di test Cypress durante una build.

Cypress è un framework di test JavaScript basato che consente di eseguire test E2E su un browser. Per un tutorial che dimostra come configurare i test E2E, consulta il post sul blog Running end-to-end Cypress tests for your fullstack CI/CD deployment with Amplify.

Aggiungere test Cypress a un'applicazione Amplify esistente

Puoi aggiungere test Cypress a un'app esistente aggiornando le impostazioni di build dell'app nella console Amplify. La specifica di build YAML contiene una raccolta di comandi di build e impostazioni correlate che Amplify utilizza per eseguire la build. Usa questo test passaggio per eseguire qualsiasi comando di test in fase di compilazione. Per i test E2E, Amplify Hosting offre un'integrazione più profonda con Cypress che consente di generare un report dell'interfaccia utente per i test.

L'elenco seguente descrive le impostazioni del test e come vengono utilizzate.

preTest

Installa le dipendenze necessarie per eseguire i test Cypress. Amplify Hosting utilizza mochawesome per generare un rapporto per visualizzare i risultati dei test e attendere la configurazione del server localhost durante la compilazione.

test

Esegui i comandi cypress per eseguire test utilizzando mochawesome.

postTest

Il report mochawesome viene generato dall'output. JSON Nota che se stai usando Yarn, devi eseguire questo comando in modalità silenziosa per generare il report mochawesome. Per Yarn, puoi usare il seguente comando.

yarn run --silent mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json
artefatti> baseDirectory

La directory da cui vengono eseguiti i test.

artefatti> configFilePath

I dati del rapporto di test generato.

artefatti>file

Gli artefatti generati (schermate e video) sono disponibili per il download.

Il seguente estratto di esempio da un amplify.yml file di specifiche di build mostra come aggiungere i test Cypress alla tua app.

test: phases: preTest: commands: - npm ci - npm install -g pm2 - npm install -g wait-on - npm install mocha mochawesome mochawesome-merge mochawesome-report-generator - pm2 start npm -- start - wait-on http://localhost:3000 test: commands: - 'npx cypress run --reporter mochawesome --reporter-options "reportDir=cypress/report/mochawesome-report,overwrite=false,html=false,json=true,timestamp=mmddyyyy_HHMMss"' postTest: commands: - npx mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json - pm2 kill artifacts: baseDirectory: cypress configFilePath: '**/mochawesome.json' files: - '**/*.png' - '**/*.mp4'

Disattivazione dei test per un'applicazione o un ramo Amplify

Dopo aver aggiunto la configurazione di test alle impostazioni di amplify.yml build, il test passaggio viene eseguito per ogni build, su ogni ramo. Se desideri disabilitare globalmente l'esecuzione dei test o eseguire solo test per rami specifici, puoi utilizzare il USER_DISABLE_TESTS variabile di ambiente senza modificare le impostazioni di build.

Per disabilitare globalmente i test per tutti i rami, aggiungi il USER_DISABLE_TESTS variabile di ambiente con un valore pari a true per tutti i rami. La schermata seguente mostra la sezione Variabili di ambiente nella console Amplify con i test disabilitati per tutte le filiali.

La sezione Variabili di ambiente nella console Amplify.

Per disabilitare i test per un ramo specifico, aggiungi il USER_DISABLE_TESTS variabile di ambiente con un valore pari a false per tutti i rami, quindi aggiungi un'eccezione per ogni ramo che desideri disabilitare con un valore ditrue. Nella schermata seguente, i test sono disabilitati sul ramo principale e abilitati per ogni altro ramo.

La sezione Variabili di ambiente nella console Amplify.

La disabilitazione dei test con questa variabile farà sì che la fase di test venga saltata del tutto durante la compilazione. Per riattivare i test, imposta questo valore su o elimina la variabile di false ambiente.