mabl Trainerは、Shadow DOM内のエレメントを含め、Webアプリケーション内の大部分のエレメントに対する操作を自動的に記録します。特定のエレメントに対する操作またはアサーションを実行するテストステップを作成できるかどうかが不明な場合は、この記事を読み、記録されるアクションとTrainerでサポートされている操作について確認してください。
記録されるアクション
記録ボタンがオンになっていると、mabl TrainerはWebアプリケーションに対するユーザーの操作を自動的に記録し、テストの先頭に次の2つのデフォルトステップを追加します。
- Set viewport size to width 1000 and height 800
- Visit URL assigned to variable "app.url"
mabl Trainerで記録されるアクションには、以下のようなものがあります。
- クリック
- テキストの入力
- ダブルクリック
- 右クリック
- マウスオーバー
- ドラッグアンドドロップ
- キー入力ステップ
- ページの再読み込み
- URLへのアクセス
- 新しいタブへの切り替え
- HTML selectドロップダウンの操作
- アップロードするファイルの選択
記録されるアクションに加えて、[Add step] メニューからテストステップを追加することもできます。詳細については、mabl Trainerでのステップの追加と編集を参照してください。
スクロール
mabl Trainerによる再生、ローカル実行、クラウド実行では、対象エレメントがページ内に存在する限り、そのエレメントまで自動的にスクロールされます。
mabl Trainerでは、WebページのHTMLに存在しないエレメントへのスクロールはサポートされません。つまり、アプリケーションに遅延読み込み機能が含まれている場合、既存のスクロールは役に立ちません。
JavaScriptスニペットの作成や管理に慣れている場合は、mablスニペットリポジトリから、遅延読み込みされたリスト内でスクロールを実装するためのこの回避策を試すことができます。
テストが可能なアイテム
ページ自体がHTMLであれば、Webページエレメントに対する操作の大部分がサポートされます。以下のエレメントについては、サポートされるアクションが若干異なります。
- ビジュアルエレメント
- コンテキストメニュー
- Webカメラとマイクへのアクセス
ビジュアルエレメント
Webアプリでビジュアルエレメントをテストする場合は、次の点に注意してください。
-
SVG - Trainerは、
<svg>
エレメントおよび<svg>
タグ内のエレメントに対するクリックとアサーションを記録できます。ただし、<path>
エレメント内の特定の座標に対するクリックやアサーションを記録することはできません。 -
キャンバスエレメント - mabl Trainerは、
<canvas>
エレメントを見つけることはできますが、<canvas>
の内容を認識することはできません。クリックステップを再生しても、mabl Trainerは<canvas>
エレメントの中心しかクリックできません。JavaScriptに慣れている場合は、canvasClick.jsスニペットを使用して、特定の座標のキャンバスエレメントをクリックするカスタムJSステップを作成できます。
生成AIによるアサーションは、アプリの複雑なビジュアルエレメントに対するアサーションに有効です。
コンテキストメニュー
コンテキストメニュー (右クリックメニュー) は、ページ上を右クリックすると表示されます。カスタムコンテキストメニューがあるアプリケーションをテストする場合、Trainerはそのコンテキストメニューを操作するステップを記録できます。
カスタムコンテキストメニューの例
ブラウザーウィンドウのデフォルトのコンテキストメニューは、実際のWebページの一部ではないため、Trainerではその操作を取得できません。
デフォルトコンテキストメニューの例
Webカメラとマイクへのアクセス
Chrome、Edge、Firefoxで実行されるテストでは、Webカメラやマイクへのアクセスがサポートされています。アプリケーションに、ブラウザーのWebカメラやマイクのAPIが含まれている場合、mabl Trainerによってテスト用のデフォルトフィードが提供されます。
記録ボタンをオンにしても、ステップの記録や再生が行われない場合は、会社のChrome関連のポリシーを確認してください。詳細については、mablのためのネットワークの設定に関する記事を参照してください。
テストが不可能なアイテム
ブラウザーおよびシステム設定の大半は、ページのHTMLの一部ではないため、mabl Trainerはこれらのアイテムを操作することができません。たとえば、次のようなアイテムが該当します。
- Chrome DevTools - これはブラウザーの設定です。Trainerは、このアイテムを操作できません。
- ウィンドウプロンプト - たとえば、window.alert() やwindow.prompt() です。詳細については、ポップアップの自動消去を参照してください。
- 基本認証のポップアップ - Trainerは基本認証ポップアップの操作を記録できませんが、mablテストを設定して基本認証を処理することは可能です。詳細については、こちらを参照してください。
- 印刷ダイアログ - 印刷ダイアログは、システム設定の一部です。
- クリップボードへのアクセス - クリップボードからの値のコピーアンドペーストはシステム設定であるため、Trainerは実行できません。アプリから値を抽出して、後続のステップで使用する場合は、変数を作成します。
- Chromeの拡張機能 - Chromeの拡張機能は、ブラウザーの設定の一部であり、mabl Trainerでのテストはサポートされていません。