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()**
ドロップダウンメニュー内の`