Aggiungi i test end-to-end Cypress alla tua app Amplify - AWS Amplify Hosting

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

Aggiungi i test end-to-end Cypress alla tua app 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 nella specifica di build YAML. Attualmente, puoi eseguire solo il framework di test Cypress durante una build.

Tutorial: configura end-to-end i test con Cypress

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.

Aggiungi test alla tua app 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 compilazione 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'

Disabilitazione dei test

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 la variabile di USER_DISABLE_TESTS ambiente senza modificare le impostazioni di build.

Per disabilitare globalmente i test per tutti i rami, aggiungi la variabile di USER_DISABLE_TESTS ambiente con un valore pari a true for all branch. 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 la variabile di USER_DISABLE_TESTS ambiente con un valore di false for all branch, quindi aggiungi un override per ogni ramo che desideri disabilitare con un valore di. true 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.