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

  • APIKenari

  • Pemeriksa Tautan yang Rusak

  • Pemantauan visual

  • Perekam Canary

  • Alur kerja GUI

Saat Anda menggunakan cetak biru untuk membuat kenari, saat Anda mengisi bidang di CloudWatch konsol, area editor Script pada halaman menampilkan kenari yang Anda buat sebagai skrip Node.js. Anda juga dapat menyunting canary di area ini untuk menyesuaikannya lebih lanjut.

Pemantauan heartbeat

Skrip detak jantung memuat yang ditentukan URL dan menyimpan tangkapan layar halaman dan file HTTP arsip (HARfile). Mereka juga menyimpan log yang diaksesURLs.

Anda dapat menggunakan HAR file untuk melihat data kinerja rinci tentang halaman web. Anda dapat menganalisis daftar permintaan web dan menangkap masalah performa seperti waktu untuk memuat sebuah 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 masing-masing URL dalam ringkasan langkah laporan canary run.

APIkenari

APIkenari dapat menguji fungsi dasar Baca dan Tulis dari a RESTAPI. RESTsingkatan dari transfer status representasional dan merupakan seperangkat aturan yang diikuti pengembang saat membuat API file. Salah satu aturan ini menyatakan bahwa tautan ke spesifik URL harus mengembalikan sepotong data.

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

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

Setiap permintaan dalam API kenari terdiri dari informasi berikut:

  • Titik akhir, yang merupakan permintaan Anda. URL

  • Metode, yaitu jenis permintaan yang dikirim ke server. RESTAPIsmendukung GET (baca), POST (tulis), PUT (perbarui), PATCH (perbarui), dan DELETE (hapus) operasi.

  • 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, lihat HTTPHeader.

  • Data (atau bodi), yang memuat informasi yang akan dikirimkan ke server. Ini hanya digunakan untukPOST,PUT,PATCH, atau DELETE permintaan.

Cetak biru API kenari mendukung dan metode. GET 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 POST permintaan, Anda juga menentukan konten yang akan diposting di bidang Data.

Integrasi dengan API Gateway

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

Menggunakan pribadi API

Anda dapat membuat kenari yang menggunakan private API di Amazon API Gateway. Untuk informasi selengkapnya, lihat Membuat pribadi API di Amazon API Gateway?

Pemeriksa tautan rusak mengumpulkan semua tautan di dalam URL yang Anda uji dengan menggunakan. document.getElementsByTagName('a') Ini menguji hanya sampai jumlah link yang Anda tentukan, dan itu URL sendiri dihitung sebagai link 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.

Jika Anda ingin memperbarui canary yang sudah ada menggunakan syn-1.0 untuk menggunakan runtime yang baru, Anda harus menghapus dan membuat ulang canary. 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

  • BurukURL. Misalnya, URL tidak ada braket, memiliki garis miring tambahan, atau menggunakan protokol yang salah.

  • Kode HTTP respons tidak valid.

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

  • HTTPPermintaan terus-menerus habis selama kenari berjalan.

  • 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 canary yang menjalankan Python dan Selenium.

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 lastrun parameter nextrun or atau menentukan ID run kenari di. UpdateCanaryAPI

Saat Anda menggunakan cetak biru pemantauan visual, Anda memasukkan URL di mana 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 lebih lanjut, 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. CloudWatchSynthetics Recorder adalah ekstensi Google Chrome yang disediakan oleh Amazon.

Kredit: Perekam CloudWatch Synthetics didasarkan pada perekam Tanpa Kepala.

Untuk informasi selengkapnya, lihat Menggunakan CloudWatch Synthetics Recorder untuk Google Chrome.

GUIpembangun alur kerja

Cetak biru GUI Workflow Builder memverifikasi bahwa tindakan dapat dilakukan 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. Ini mengklik firstButtonpada yang ditentukanURL, memverifikasi bahwa pemilih yang diharapkan dengan teks yang diharapkan muncul, memasukkan nama Test_Customer ke bidang Nama, mengklik tombol Login, dan kemudian memverifikasi bahwa login berhasil dengan memeriksa teks Selamat Datang di halaman berikutnya.

Halaman create canary di konsol, dengan bidang yang diisi untuk cetak biru GUI Workflow.

GUIkenari alur kerja yang menggunakan runtime berikut juga memberikan ringkasan langkah-langkah yang dijalankan untuk setiap lari kenari. 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