Tambahkan pengujian end-to-end Cypress ke aplikasi Amplify - AWS Amplify Hosting

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tambahkan pengujian end-to-end Cypress ke aplikasi Amplify

Anda dapat menjalankan pengujian end-to-end (E2E) dalam fase pengujian aplikasi Amplify untuk menangkap regresi sebelum mendorong kode ke produksi. Fase pengujian dapat dikonfigurasi dalam spesifikasi build YAML. Saat ini, Anda hanya dapat menjalankan kerangka pengujian Cypress selama pembuatan.

Tutorial: Mengatur end-to-end tes dengan Cypress

Cypress adalah kerangka pengujian JavaScript berbasis yang memungkinkan Anda menjalankan tes E2E di browser. Untuk tutorial yang menunjukkan cara mengatur tes E2E, lihat posting blog Menjalankan tes end-to-end Cypress untuk penerapan CI/CD fullstack Anda dengan Amplify.

Tambahkan pengujian ke aplikasi Amplify yang ada

Anda dapat menambahkan pengujian Cypress ke aplikasi yang sudah ada dengan memperbarui setelan build aplikasi di konsol Amplify. Spesifikasi build YAMAL berisi kumpulan perintah build dan setelan terkait yang Amplify gunakan untuk menjalankan build Anda. Gunakan test langkah untuk menjalankan perintah pengujian apa pun pada waktu pembuatan. Untuk pengujian E2E, Amplify Hosting menawarkan integrasi yang lebih dalam dengan Cypress yang memungkinkan Anda membuat laporan UI untuk pengujian Anda.

Daftar berikut menjelaskan pengaturan pengujian dan bagaimana mereka digunakan.

Pretest

Instal dependensi yang diperlukan untuk menjalankan tes Cypress. Amplify Hosting menggunakan mochawesome untuk menghasilkan laporan guna melihat hasil pengujian Anda dan menunggu untuk menyiapkan server localhost selama pembuatan.

pengujian

Jalankan perintah cypress untuk melakukan tes menggunakan mochawesome.

PostTest

Laporan mochawesome dihasilkan dari output JSON. Perhatikan bahwa jika Anda menggunakan Yarn, Anda harus menjalankan perintah ini dalam mode diam untuk menghasilkan laporan mochawesome. Untuk Yarn, Anda dapat menggunakan perintah berikut.

yarn run --silent mochawesome-merge cypress/report/mochawesome-report/mochawesome*.json > cypress/report/mochawesome.json
Artefak>BaseDirectory

Direktori dari mana tes dijalankan.

artefak> configFilePath

Data laporan pengujian yang dihasilkan.

artefak>file

Artefak yang dihasilkan (tangkapan layar dan video) tersedia untuk diunduh.

Contoh kutipan berikut dari amplify.yml file spesifikasi build menunjukkan cara menambahkan pengujian Cypress ke aplikasi Anda.

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'

Menonaktifkan pengujian

Setelah konfigurasi pengujian ditambahkan ke setelan amplify.yml build Anda, test langkah berjalan untuk setiap build, di setiap cabang. Jika Anda ingin menonaktifkan pengujian secara global agar tidak berjalan, atau hanya menjalankan pengujian untuk cabang tertentu, Anda dapat menggunakan variabel USER_DISABLE_TESTS lingkungan tanpa mengubah setelan build.

Untuk menonaktifkan pengujian secara global untuk semua cabang, tambahkan variabel USER_DISABLE_TESTS lingkungan dengan nilai true untuk semua cabang. Tangkapan layar berikut, menunjukkan bagian Variabel lingkungan di konsol Amplify dengan pengujian dinonaktifkan untuk semua cabang.

Bagian variabel Lingkungan di konsol Amplify.

Untuk menonaktifkan pengujian untuk cabang tertentu, tambahkan variabel USER_DISABLE_TESTS lingkungan dengan nilai false untuk semua cabang, lalu tambahkan penggantian untuk setiap cabang yang ingin Anda nonaktifkan dengan nilaitrue. Pada tangkapan layar berikut, tes dinonaktifkan di cabang utama, dan diaktifkan untuk setiap cabang lainnya.

Bagian variabel Lingkungan di konsol Amplify.

Menonaktifkan pengujian dengan variabel ini akan menyebabkan langkah pengujian dilewati sepenuhnya selama build. Untuk mengaktifkan kembali pengujian, atur nilai ini kefalse, atau hapus variabel lingkungan.