

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

# Fungsi perpustakaan tersedia untuk skri Node.js p kenari menggunakan Playwright
<a name="CloudWatch_Synthetics_Canaries_Nodejs_Playwright"></a>

Bagian ini menjelaskan fungsi pustaka yang tersedia untuk skrip canary menggunakan runtime Node.js Playwright.

**Topics**
+ [meluncurkan](#Synthetics_Library_Nodejs_Playwright_functions)
+ [Halaman baru](#Synthetics_Library_Nodejs_Playwright_function_newPage)
+ [tutup](#Synthetics_Library_Nodejs_Playwright_function_close)
+ [dapatkan DefaultLaunchOptions](#Synthetics_Library_Nodejs_Playwright_function_getDefaultLaunchOptions)
+ [JalankanStep](#Synthetics_Library_Nodejs_Playwright_function_executeStep)

## meluncurkan
<a name="Synthetics_Library_Nodejs_Playwright_functions"></a>

Fungsi ini meluncurkan browser Chromium menggunakan fungsi peluncuran Playwright, dan mengembalikan objek browser. Ini mendekompresi binari browser dan meluncurkan browser Chromium dengan menggunakan opsi default yang cocok untuk browser tanpa kepala. Untuk informasi selengkapnya tentang `launch` fungsi ini, lihat [`launch`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) dalam dokumentasi Dramawan.

 **Penggunaan** 

```
const browser = await synthetics.launch();
```

 **Argumen** 

`options`[opsi ](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) (opsional) adalah serangkaian opsi yang dapat dikonfigurasi untuk browser.

 **Pengembalian ** 

Jan `<Browser>` ji dimana [ Browser ](https://playwright.dev/docs/api/class-browser) adalah contoh browser Playwright.

Jika fungsi ini dipanggil lagi, browser yang dibuka sebelumnya ditutup sebelum memulai browser baru. Anda dapat mengganti parameter peluncuran yang digunakan oleh CloudWatch Synthetics, dan meneruskan parameter tambahan saat meluncurkan browser. Misalnya, cuplikan kode berikut meluncurkan browser dengan argumen default dan jalur eksekusi default, tetapi dengan viewport 800 x 600 piksel. Untuk informasi selengkapnya, lihat Opsi peluncuran [ Playwright ](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) di dokumentasi Playwright.

```
const browser = await synthetics.launch({
  defaultViewport: {
      "deviceScaleFactor": 1,
      "width": 800,
      "height": 600
}});
```

 Anda juga dapat menambahkan atau mengganti flag Chromium yang diteruskan secara default ke browser. Misalnya, Anda dapat menonaktifkan keamanan web dengan menambahkan tanda ke `--disable-web-security` argumen dalam parameter peluncuran CloudWatch Synthetics: 

```
// This function adds the --disable-web-security flag to the launch parameters
const defaultOptions = await synthetics.getDefaultLaunchOptions();
const launchArgs = [...defaultOptions.args, '--disable-web-security'];
const browser = await synthetics.launch({
    args: launchArgs
  });
```

## Halaman baru
<a name="Synthetics_Library_Nodejs_Playwright_function_newPage"></a>

`newPage()`Fungsi ini membuat dan mengembalikan halaman Playwright baru. Synthetics secara otomatis mengatur koneksi Chrome DevTools Protocol (CDP) untuk mengaktifkan tangkapan jaringan untuk pembuatan arsip HTTP (HAR).

 **Penggunaan** 

Gunakan `newPage()` dengan salah satu cara berikut:

 **1. Membuat halaman baru dalam konteks browser baru: ** 

```
const page = await synthetics.newPage(browser);
```

 **2. Membuat halaman baru dalam konteks browser tertentu: ** 

```
// Create a new browser context
const browserContext = await browser.newContext();

// Create a new page in the specified browser context
const page = await synthetics.newPage(browserContext)
```

 **Argumen** 

Menerima [ instance ](https://playwright.dev/docs/api/class-browser) Browser Playwright atau instance Playwright [ BrowserContext](https://playwright.dev/docs/api/class-browsercontext). 

 **Pengembalian ** 

Jan <Page>ji di mana Page adalah [ contoh ](https://playwright.dev/docs/api/class-page) Halaman Dramawan.

## tutup
<a name="Synthetics_Library_Nodejs_Playwright_function_close"></a>

Menutup browser yang sedang dibuka.

 **Penggunaan** 

```
await synthetics.close();
```

Disarankan untuk menutup browser di `finally` blok skrip Anda.

 **Argumen** 

Tidak ada 

 **Pengembalian ** 

Mengembalikan <void>Janji yang digunakan oleh fungsi peluncuran Synthetics untuk meluncurkan browser.

## dapatkan DefaultLaunchOptions
<a name="Synthetics_Library_Nodejs_Playwright_function_getDefaultLaunchOptions"></a>

`getDefaultLaunchOptions()`Fungsi mengembalikan opsi peluncuran browser yang digunakan oleh CloudWatch Synthetics.

 **Penggunaan** 

```
const defaultOptions = await synthetics.getDefaultLaunchOptions();
```

 **Argumen** 

Tidak ada 

 **Pengembalian ** 

Mengembalikan opsi [ peluncuran Playwright yang ](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) digunakan oleh `launch` fungsi Synthetics untuk meluncurkan browser.

## JalankanStep
<a name="Synthetics_Library_Nodejs_Playwright_function_executeStep"></a>

`executeStep`Fungsi ini digunakan untuk menjalankan langkah dalam skrip Synthetics. Di CloudWatch Synthetics, langkah Synthetics adalah cara untuk memecah skrip kenari Anda menjadi serangkaian tindakan yang jelas, memungkinkan Anda memantau berbagai bagian perjalanan aplikasi Anda secara terpisah. Untuk setiap langkah, CloudWatch Synthetics melakukan hal berikut:
+ Secara otomatis menangkap tangkapan layar sebelum langkah dimulai dan setelah langkah selesai. Anda juga dapat menangkap tangkapan layar dalam satu langkah. Screenshot diambil secara default, tetapi dapat dimatikan dengan menggunakan konfigurasi Synthetics.
+ Laporan, termasuk ringkasan, detail eksekusi langkah seperti durasi langkah, `pass` atau `fail` status, URL halaman sumber dan tujuan, tangkapan layar terkait, dll. dibuat untuk setiap pengoperasian kenari. Saat Anda memilih run di konsol CloudWatch Synthetics, Anda dapat melihat detail eksekusi setiap langkah pada ** tab ** Langkah.
+ `SuccessPercent`dan `Duration` CloudWatch metrik dipancarkan untuk setiap langkah, memungkinkan pengguna memantau ketersediaan dan latensi setiap langkah.

 **Penggunaan** 

```
await synthetics.executeStep("mystepname", async function () {
  await page.goto(url, { waitUntil: 'load', timeout: 30000 });
}
```

**catatan**  
Langkah-langkah harus berjalan secara berurutan. Pastikan untuk menggunakan `await` janji.

 **Argumen** 
+ `stepName`string (required) (boolean) — Nama langkah Synthetics. 
+ `functionToExecute`async function (required) — Fungsi yang Anda inginkan untuk dijalankan Synthetics. Fungsi ini harus berisi logika untuk langkah tersebut.
+ `stepConfig`objek (opsional) — Konfigurasi langkah menggantikan konfigurasi Synthetics global untuk langkah ini.
  + `continueOnStepFailure`boolean (opsional) — Apakah akan terus menjalankan skrip canary setelah langkah ini gagal. 
  + `screenshotOnStepStart`boolean (opsional) — Apakah akan mengambil tangkapan layar di awal langkah ini. 
  + `screenshotOnStepSuccess`boolean (opsional) — Apakah akan mengambil tangkapan layar jika langkah ini berhasil. 
  + `screenshotOnStepFailure`boolean (opsional) — Apakah akan mengambil tangkapan layar jika langkah ini gagal. 
+ `page`— Objek halaman penulis naskah (opsional)

  Objek halaman penulis naskah. Synthetics menggunakan objek halaman ini untuk menangkap tangkapan layar dan URL. Secara default, Synthetics menggunakan halaman Playwright yang dibuat saat `synthetics.newPage()` fungsi dipanggil untuk menangkap detail halaman seperti tangkapan layar dan URL.

 **Pengembalian ** 

Mengembalikan Promise yang diselesaikan dengan nilai yang dikembalikan oleh ` functionToExecute` fungsi. Untuk contoh skrip, lihat [Kode sampel untuk skrip canary](CloudWatch_Synthetics_Canaries_Samples.md) dalam panduan ini.