地球上のBGP

Puppeteerスクリプトガイド

Puppeteerは、直感的なAPIを通じて高度なブラウザ自動化を提供するNode.jsライブラリです。
CatchpointのPuppeteerテストタイプを使用することで、複数ステップのブラウザトランザクションテストを作成できます。

本記事では、モニタリング目的のPuppeteerスクリプト開発を支援するための複数の例を紹介します。
このガイドを最大限に活用するには、CSSセレクタに関する基本的な理解を持つことをお勧めします。

Catchpoint特有のコマンド

CatchpointのPuppeteerには、独自の機能を強化するための特定コマンドが追加されています。
以下はCatchpoint専用のコマンドのリストです。

Catchpoint.startStep()

Puppeteerトランザクションスクリプト内でステップを作成し、名前を付けるために使用します。

opt_disableAutoMatchRequests(オプション)
Webブラウザテストモニタで、特定のHTTP/Sリクエストを直前のステップに割り当てる制御を行います。デフォルト値はfalseです。
構文

await Catchpoint.startStep(stepName, [opt_disableAutoMatchRequests<Optional>]);

await Catchpoint.startStep('1. ホームページ');

Catchpoint.username()

認証ライブラリに保存された資格情報の名前を使用して、ユーザ名を返します。

構文

Catchpoint.username(LibraryCredentialName);

const u1 = Catchpoint.username("user1");
**Catchpoint.password()** 認証ライブラリに保存された資格情報の名前を使用して、パスワードを返します。 - **構文**: `Catchpoint.password(LibraryCredentialName);` - **例**: ```javascript const p1 = Catchpoint.password("user1"); ``` **Catchpoint.token()** 認証ライブラリに保存された資格情報の名前を使用して、トークンを返します。 - **構文**: `Catchpoint.token(LibraryCredentialName);` - **例**: ```javascript const p1 = Catchpoint.token('token1'); ``` **Catchpoint.setTracepoint()** 文字列を記録するトレースポイントを作成、保存、および更新します。 - **構文**: `await Catchpoint.setTracepoint(token, value);` - **例**: ```javascript // トレースポイントの設定 await Catchpoint.setTracepoint("t600", "tracepointValue"); ``` **Catchpoint.setIndicator()** 数値を記録するインジケータを作成、保存、および更新します。 - **構文**: `await Catchpoint.setIndicator(token, numericValue);` - **例**: ```javascript // インジケータの設定 await Catchpoint.setIndicator("t600", 20); ``` **Catchpoint.storeGlobalVariable()** 他のテストで使用可能なグローバル変数を作成、保存、および更新します。 - **構文**: `await Catchpoint.storeGlobalVariable(value, variableName);` - **例**: ```javascript // 保存 await Catchpoint.storeGlobalVariable("google.com", "domain"); ``` **${GlobalVariable()}** Catchpoint.storeGlobalVariable()で設定されたグローバル変数を取得します。 - **構文**: `${GlobalVariable(variableName)}` - **例**: ```javascript const name1 = ${GlobalVariable("domain")}; ```

Puppeteer Pageクラス

Pageクラスは、ブラウザ内の単一タブと対話するための関数を提供します。以下は重要な関数の一部です。

Page.goto()
Webページを読み込むための関数です。
構文

await page.goto(URL, options<Optional>);

await page.goto('https://www.google.com/');
### Puppeteer Pageクラス (続き) **Page.type()** 入力フィールドやテキストエリアに文字を入力するために使用します。各文字に対してkeydown、keypress/input、keyupイベントを送信します。 - **構文**: `await page.type(selector, text, options);` - **例**: ```javascript // テキストエリア要素に 'book' を入力 await page.type('textarea[name="q"]', 'book'); ``` **Page.click()** 指定されたCSSセレクタの要素に対してマウスクリックをシミュレートします。必要に応じて要素を表示領域にスクロールし、中心部をクリックします。 - **構文**: `await page.click(selector, options);` - **例**: ```javascript // 検索ボタンをクリック await page.click('input[name="btnK"]'); ``` **Page.focus()** セレクタを使って要素を取得し、フォーカスを当てます。 - **構文**: `await page.focus(selector);` - **例**: ```javascript // テキストエリアにフォーカス await page.focus('textarea[name="q"]'); ``` **Page.select()** ドロップダウンメニュー内の`