本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Playwright 的 Node.js Canary 指令碼可用的程式庫函數
本節說明使用 Node.js Playwright 執行時間的 Canary 指令碼可用的程式庫函數。
啟動
此函數使用 Playwright 啟動函數啟動 Chromium 瀏覽器,並傳回瀏覽器物件。它會解壓縮瀏覽器二進位檔,並使用適用於無頭瀏覽器的預設選項來啟動 chromium 瀏覽器。如需 launch
函數的詳細資訊,請參閱 Playwright 文件launch
用途
const browser = await synthetics.launch();
Arguments (引數)
options
options
傳回值
承諾瀏覽器<Browser>
的位置。
如果再次呼叫此函數,則會先關閉先前開啟的瀏覽器,再啟動新的瀏覽器。您可以覆寫 CloudWatch Synthetics 使用的啟動參數,並在啟動瀏覽器時傳遞其他參數。例如,下列程式碼片段會使用預設引數和預設可執行路徑啟動瀏覽器,但檢視區為 800 x 600 像素。如需詳細資訊,請參閱 Playwright 文件中的 Playwright 啟動選項
const browser = await synthetics.launch({ defaultViewport: { "deviceScaleFactor": 1, "width": 800, "height": 600 }});
您也可以新增或覆寫預設傳遞至瀏覽器的 Chromium 旗標。例如,您可以將--disable-web-security
旗標新增至 CloudWatch Synthetics 啟動參數中的引數,以停用 Web 安全性:
// 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 });
newPage
newPage()
函數會建立並傳回新的 Playwright 頁面。Synthetics 會自動設定 Chrome DevTools 通訊協定 (CDP) 連線,以啟用產生 HTTP 封存 (HAR) 的網路擷取。
用途
newPage()
以下列其中一種方式使用 :
1。在新的瀏覽器內容中建立新頁面:
const page = await synthetics.newPage(browser);
2. 在指定的瀏覽器內容中建立新頁面:
// 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)
Arguments (引數)
接受 Playwright 瀏覽器
傳回值
Promise <Page>,其中 Page 是 Playwright Page
關閉
關閉目前開啟的瀏覽器。
用途
await synthetics.close();
建議您在指令碼的finally
區塊中關閉瀏覽器。
Arguments (引數)
無
傳回值
傳回 Synthetics 啟動函數用於啟動瀏覽器的 Promise<void>。
getDefaultLaunchOptions
getDefaultLaunchOptions()
函數會傳回 CloudWatch Synthetics 使用的瀏覽器啟動選項。
用途
const defaultOptions = await synthetics.getDefaultLaunchOptions();
Arguments (引數)
無
傳回值
傳回 Synthetics launch
函數用來啟動瀏覽器的 Playwright 啟動選項
executeStep
executeStep
函數用於在 Synthetics 指令碼中執行步驟。在 CloudWatch Synthetics 中,Synthetics 步驟是將 Canary 指令碼分解為一系列明確定義動作的一種方式,可讓您分別監控應用程式旅程的不同部分。對於每個步驟,CloudWatch Synthetics 會執行下列動作:
在步驟開始之前和步驟完成後自動擷取螢幕擷取畫面。您也可以擷取步驟內的螢幕擷取畫面。螢幕擷取畫面預設為擷取,但可以使用 Synthetics 組態
(待辦事項:連結)
關閉。系統會針對每個 Canary 執行建立包含步驟執行詳細資訊摘要的報告,例如步驟持續時間
pass
或fail
狀態、來源和目的地頁面 URLs、關聯的螢幕擷取畫面等。當您在 CloudWatch Synthetics 主控台中選擇執行時,您可以在步驟索引標籤上檢視每個步驟的執行詳細資訊。SuccessPercent
每個步驟都會發出 和Duration
CloudWatch 指標,讓使用者能夠監控每個步驟的可用性和延遲。
用途
await synthetics.executeStep("mystepname", async function () { await page.goto(url, { waitUntil: 'load', timeout: 30000 }); }
注意
步驟應循序執行。請務必在 promise await
上使用 。
Arguments (引數)
stepName
string (必要) (布林值) — Synthetics 步驟的名稱。functionToExecute
非同步函數 (必要) — 您希望 Synthetics 執行的函數。此函數應包含 步驟的邏輯。stepConfig
物件 (選用) — 步驟組態會覆寫此步驟的全域 Synthetics 組態。continueOnStepFailure
布林值 (選用) — 此步驟失敗後是否繼續執行 Canary 指令碼。screenshotOnStepStart
布林值 (選用) — 是否要在此步驟開始時擷取螢幕擷取畫面。screenshotOnStepSuccess
布林值 (選用) — 如果此步驟成功,是否擷取螢幕擷取畫面。screenshotOnStepFailure
布林值 (選用) — 如果此步驟失敗,是否要擷取螢幕擷取畫面。
page
— Playwright 頁面物件 (選用)Playwright 頁面物件。Synthetics 使用此頁面物件來擷取螢幕擷取畫面和 URLs。根據預設,Synthetics 會使用呼叫
synthetics.newPage()
函數時建立的 Playwright 頁面來擷取頁面詳細資訊,例如螢幕擷取畫面和 URLs。
傳回值
傳回以functionToExecute
函數傳回的值解析的 Promise。如需範例指令碼,請參閱本指南Canary 指令碼的範本程式碼中的 。