Menggunakan cetak biru canary - Amazon CloudWatch

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

Menggunakan cetak biru canary

Bagian ini menyediakan detail tentang setiap cetak biru canary dan tugas yang paling sesuai untuk setiap cetak biru. Cetak biru disediakan untuk jenis canary berikut:

  • Pantau Heartbeat

  • Canary API

  • Pemeriksa Tautan yang Rusak

  • Pemantauan visual

  • Perekam Canary

  • Alur Kerja GUI

Ketika Anda menggunakan cetak biru untuk membuat canary, ketika mengisi bidang di CloudWatch konsol, Penyunting naskah wilayah halaman menampilkan canary yang Anda buat sebagai naskah Node.js. Anda juga dapat menyunting canary di area ini untuk menyesuaikannya lebih lanjut.

Pemantauan heartbeat

Skrip heartbeat memuat URL tertentu dan menyimpan tangkapan layar halaman dan file arsip HTTP (file HAR). Mereka juga menyimpan log yang diakses URLs.

Anda dapat menggunakan file HAR untuk melihat data performa terperinci tentang halaman web. Anda dapat menganalisis daftar permintaan web dan menangkap masalah kinerja seperti waktu untuk memuat item.

Jika kenari Anda menggunakan versi runtime syn-nodejs-puppeteer-3.1 atau yang lebih baru, Anda dapat menggunakan cetak biru pemantauan detak jantung untuk memantau beberapa URLs dan melihat status, durasi, tangkapan layar terkait, dan alasan kegagalan untuk setiap URL dalam ringkasan langkah laporan canary run.

Canary API

Canary API dapat menguji fungsi Baca dan Tulis dasar dari API REST. REST adalah singkatan dari transfer status representasional dan merupakan seperangkat aturan yang diikuti pengembang ketika membuat API. Salah satu aturan ini menyatakan bahwa tautan ke URL tertentu harus mengembalikan satu data.

Canary dapat bekerja dengan apa saja APIs dan menguji semua jenis fungsionalitas. Setiap canary dapat membuat beberapa panggilan API.

Di kenari yang menggunakan versi runtime syn-nodejs-2.2 atau yang lebih baru, cetak biru kenari API mendukung kenari multi-langkah yang memantau Anda sebagai langkah HTTP. APIs Anda dapat menguji beberapa APIs dalam satu kenari. Setiap langkah adalah permintaan terpisah yang dapat mengakses URL yang berbeda, menggunakan header yang berbeda, dan menggunakan aturan yang berbeda untuk apakah header dan bodi respons ditangkap. Dengan tidak menangkap header dan bodi respons, Anda dapat mencegah data sensitif dari perekaman.

Setiap permintaan di canary API terdiri atas informasi berikut:

  • Titik akhir, yang merupakan URL yang Anda minta.

  • Metode, yaitu jenis permintaan yang dikirim ke server. REST APIs mendukung operasi GET (read), POST (write), PUT (update), PATCH (update), dan DELETE (delete).

  • Header, yang memberikan informasi baik kepada klien maupun server. Cookie ini digunakan untuk autentikasi dan memberikan informasi tentang konten bodi. Untuk daftar header yang valid, silakan lihat Header HTTP.

  • Data (atau bodi), yang memuat informasi yang akan dikirimkan ke server. Hanya digunakan untuk permintaan POST, PUT, PATCH, atau DELETE.

catatan

Cetak biru kenari API tidak didukung oleh runtime Playwright.

Cetak biru canary API mendukung metode GET dan POST. Ketika Anda menggunakan cetak biru ini, Anda harus menentukan header. Misalnya, Anda dapat menentukan Authorization sebagai Kunci dan menetapkan data otorisasi yang diperlukan sebagai Nilai untuk kunci itu.

Jika Anda menguji permintaan POST, Anda juga menentukan konten yang akan diposting di bidang Data.

Integrasi dengan API Gateway

Cetak biru API terintegrasi dengan Amazon API Gateway. Ini memungkinkan Anda memilih API Gateway API dan tahap dari AWS akun dan Wilayah yang sama dengan canary, atau mengunggah template Swagger dari API Gateway untuk pemantauan API lintas akun dan lintas wilayah. Anda kemudian dapat memilih sisa dari detail di konsol untuk membuat canary, bukan memasukkannya dari awal. Untuk informasi selengkapnya tentang API Gateway, silakan lihat Apa itu Amazon API Gateway?

Menggunakan API privat

Anda dapat membuat canary yang menggunakan API privat di Amazon API Gateway. Untuk informasi selengkapnya, silakan lihat Membuat API privat di Amazon API Gateway?

Pemeriksa tautan yang rusak mengumpulkan semua tautan di dalam URL yang sedang Anda uji dengan menggunakan document.getElementsByTagName('a'). Hanya menguji hingga jumlah tautan yang Anda tentukan, dan URL itu sendiri dihitung sebagai tautan pertama. Sebagai contoh, jika Anda ingin memeriksa semua tautan di halaman yang memuat lima tautan, Anda harus menentukan untuk canary mengikuti enam tautan.

Canary pemeriksa tautan yang rusak dibuat menggunakan runtime syn-nodejs-2.0-beta atau yang lebih baru mendukung fitur tambahan berikut:

  • Memberikan laporan yang menyertakan tautan yang diperiksa, kode status, alasan kegagalan (jika ada), dan halaman cuplikan layar sumber dan tujuan.

  • Ketika melihat hasil canary, Anda dapat menyaring untuk hanya melihat tautan yang rusak dan kemudian memperbaiki tautan didasarkan pada alasan kegagalan.

  • Versi ini menangkap cuplikan layar halaman sumber berketerangan untuk setiap tautan dan menyoroti jangkar tempat tautan ditemukan. Komponen tersembunyi tidak diberi keterangan.

  • Anda dapat mengonfigurasi versi ini untuk mengambil tangkapan layar dari halaman sumber dan tujuan, hanya halaman sumber, atau hanya halaman tujuan.

  • Versi ini memperbaiki masalah dalam versi sebelumnya tempat skrip canary berhenti setelah tautan pertama yang rusak, bahkan ketika lebih banyak tautan yang diambil dari halaman pertama.

catatan

Cetak biru pemeriksa tautan rusak tidak didukung oleh runtime Playwright.

Untuk memperbarui kenari yang ada menggunakan syn-1.0 untuk menggunakan runtime baru, Anda harus menghapus dan membuat ulang kenari. Memperbarui canary yang sudah ada ke runtime baru tidak membuat fitur ini tersedia.

Canary pemeriksa tautan yang rusak mendeteksi jenis kesalahan tautan berikut:

  • 404 Halaman Tidak Ditemukan

  • Nama Host Tidak Benar

  • URL Buruk. Misalnya, URL tidak memiliki tanda kurung, memiliki garis miring ekstra, atau menggunakan protokol yang salah.

  • Kode respons HTTP tidak benar.

  • Server host mengembalikan respons kosong dengan tanpa konten dan tidak ada kode respons.

  • Permintaan HTTP secara konstan habis waktu selama berlangsungnya canary.

  • Host secara konsisten menurunkan koneksi karena salah konfigurasi atau terlalu sibuk.

Cetak biru pemantauan visual

Cetak biru pemantauan visual mencakup kode untuk membandingkan tangkapan layar yang diambil selama berjalannya canary dengan tangkapan layar yang diambil selama berjalannya canary dasar. Jika perbedaan antara kedua tangkapan layar berada di luar persentase ambang batas, canary gagal. Pemantauan visual didukung di kenari yang menjalankan syn-puppeteer-node-3.2 dan yang lebih baru. Saat ini tidak didukung di kenari yang menjalankan Python dan Selenium, atau menggunakan runtime Playwright.

Cetak biru pemantauan visual mencakup baris kode berikut dalam skrip canary cetak biru default, yang memungkinkan pemantauan visual.

syntheticsConfiguration.withVisualCompareWithBaseRun(true);

Pertama kali canary berjalan dengan sukses setelah baris ini ditambahkan ke skrip, ia menggunakan tangkapan layar yang diambil selama proses itu sebagai dasar untuk perbandingan. Setelah kenari pertama dijalankan, Anda dapat menggunakan CloudWatch konsol untuk mengedit kenari untuk melakukan salah satu hal berikut:

  • Tetapkan putaran canary berikutnya sebagai dasar baru.

  • Gambar batas pada tangkapan layar dasar saat ini untuk menunjuk area tangkapan layar untuk diabaikan selama perbandingan visual.

  • Hapus tangkapan layar agar tidak digunakan untuk pemantauan visual.

Untuk informasi selengkapnya tentang menggunakan CloudWatch konsol untuk mengedit kenari, lihatMengedit atau menghapus canary.

Anda juga dapat mengubah canary run yang digunakan sebagai baseline dengan menggunakan nextrun atau lastrun parameter atau menentukan ID run canary di API. UpdateCanary

Saat Anda menggunakan cetak biru pemantauan visual, Anda memasukkan URL tempat Anda ingin tangkapan layar diambil, dan menentukan ambang batas perbedaan sebagai persentase. Setelah baseline run, future run dari canary yang mendeteksi perbedaan visual yang lebih besar dari ambang batas itu memicu kegagalan canary. Setelah baseline berjalan, Anda juga dapat mengedit canary untuk "menggambar" batas pada tangkapan layar dasar yang ingin Anda abaikan selama pemantauan visual.

Fitur pemantauan visual didukung oleh toolkit perangkat lunak ImageMagick open source. Untuk informasi selengkapnya, lihat ImageMagick .

Perekam canary

Dengan cetak biru perekam kenari, Anda dapat menggunakan CloudWatch Synthetics Recorder untuk merekam tindakan klik dan ketik Anda di situs web dan secara otomatis menghasilkan skrip Node.js yang dapat digunakan untuk membuat kenari yang mengikuti langkah yang sama. CloudWatch Perekam Sintetis adalah ekstensi Google Chrome yang disediakan oleh Amazon. Perekam kenari tidak didukung untuk kenari yang menggunakan runtime Playwright.

Kredit: Perekam CloudWatch Synthetics didasarkan pada perekam Tanpa Kepala.

Untuk informasi selengkapnya, lihat Menggunakan CloudWatch Perekam Sintetis untuk Google Chrome.

Pembangun alur kerja GUI

Cetak biru Pembangun Alur Kerja GUI memverifikasi bahwa tindakan dapat diambil di halaman web Anda. Sebagai contoh, jika Anda memiliki halaman web dengan formulir login, canary dapat mengisi bidang pengguna dan kata sandi serta mengirimkan formulir untuk memverifikasi bahwa halaman web berfungsi dengan benar.

Ketika Anda menggunakan cetak biru untuk membuat jenis canary ini, Anda menentukan tindakan yang diinginkan canary untuk dilakukan pada halaman web. Tindakan yang dapat Anda gunakan adalah sebagai berikut:

  • Klik— Pilih elemen yang Anda tentukan dan simulasikan pengguna yang mengeklik atau memilih elemen tersebut.

    Untuk menentukan elemen dalam skrip Node.js, gunakan [id=] atau a[class=].

    Untuk menentukan elemen dalam skrip Python, gunakan xpath //*[@id=] atau //*[@class=].

  • Verifikasi pemilih— Verifikasi bahwa elemen tertentu ada di halaman web tersebut. Uji ini berguna untuk memverifikasi bahwa tindakan sebelumnya memiliki elemen yang benar untuk mengisi halaman tersebut.

    Untuk menentukan elemen guna memverifikasi dalam skrip Node.js, gunakan [id=] atau a[class=].

    Untuk menentukan elemen guna memverifikasi dalam skrip Python, gunakan xpath //*[@id=] atau //*[class=].

  • Verifikasi teks— Verifikasi bahwa rangkaian tertentu termuat dalam elemen target. Uji ini berguna untuk memverifikasi bahwa tindakan sebelumnya telah menyebabkan teks yang benar ditampilkan.

    Untuk menentukan elemen dalam skrip Node.js, gunakan format seperti div[@id=]//h1 karena tindakan ini menggunakan fungsi waitForXPath dalam Puppeteer.

    Untuk menentukan elemen dalam skrip Python, gunakan format xpath seperti //*[@id=] atau //*[@class=] karena tindakan ini menggunakan fungsi implicitly_wait dalam Selenium.

  • Masukkan teks— Tulis teks tertentu dalam elemen target.

    Untuk menentukan elemen guna memverifikasi dalam skrip Node.js, gunakan [id=] atau a[class=].

    Untuk menentukan elemen guna memverifikasi dalam skrip Python, gunakan xpath //*[@id=] atau //*[@class=].

  • Klik dengan navigasi— Tunggu seluruh halaman dimuat setelah memilih elemen tertentu. Hal ini paling berguna ketika Anda perlu memuat ulang halaman.

    Untuk menentukan elemen dalam skrip Node.js, gunakan [id=] atau a[class=].

    Untuk menentukan elemen dalam skrip Python, gunakan xpath //*[@id=] atau //*[@class=].

Sebagai contoh, cetak biru berikut menggunakan Node.js. Cetak biru mengeklik firstButton pada URL tertentu, memverifikasi bahwa pemilih yang diharapkan dengan teks yang diharapkan muncul, memasukkan nama Test_Customer ke dalam bidang Nama, mengklik tombol Login, dan kemudian memverifikasi bahwa login berhasil dengan memeriksa teks Sambutan pada halaman berikutnya.

Laman canary di konsol dibuat, dengan bidang yang diisi untuk cetak biru Alur Kerja GUI.

Canary alur kerja GUI yang menggunakan runtime berikut juga memberikan ringkasan langkah-langkah yang dilaksanakan untuk masing-masing operasi canary. Anda dapat menggunakan tangkapan layar dan pesan kesalahan yang terkait dengan setiap langkah untuk menemukan akar masalah kegagalan.

  • syn-nodejs-2.0 atau yang lebih baru

  • syn-python-selenium-1.0 atau yang lebih baru