この記事では、生成AIによるアサーションの作成方法について説明します。また、要素の選択、ビューポートサイズの設定、および非英語言語での結果の返却に関するヒントもあわせてご紹介します。
高度なAI
GenAIアサーションは、mablサブスクリプションのアドオンとして利用可能です。詳細については、カスタマーサクセスマネージャーにお問い合わせください。
生成AIによるアサーションの作成方法
生成AIによるアサーションを作成するには、mablトレーナーでWebアプリケーションまたはモバイルアプリケーションを開き、アプリケーションを目的の状態にします。その後、次の手順を実行します。
- Trainerウィンドウで、チェックマークアイコンをクリックし、新しいアサーションを作成します。
- 検証したい内容を特定する:
- ページ全体を検証するには、トレーナーウィンドウでGenAIスクリーンキャプチャをクリックします。
- ページの一部を検証するには、ブラウザウィンドウで検証したい要素を選択し、アサーションメニューでAIを選択します。
- アサーションの説明フィールドでは、自然言語を使用して確認したい内容を記述します。アサーションの説明には、テストで使用される変数への参照を含めることができます。これには、データテーブルやその他のデータ駆動型変数の値が含まれます。例えば、「結果が{{@search_input}}に関連していることを確認する」といった具合です。
- [テストアサーション] をクリックします。このアサーションを初めてテストする場合、mablによってアサーションの条件が生成されます。 この条件はアサーションの説明とともにLLMに送信され、アサーションの一部として評価する一貫性のある条件が提供されます。アサーションの説明を記述し直す場合、現在のアサーションの説明の状態を反映してアサーションの条件も更新されます。
- 失敗時の挙動を選択します。デフォルトでは、AIによるアサーションは [Fail at end of test] に設定されています。
- [OK] をクリックします。
アサーションの説明の記述について詳しくは、生成AIによるアサーションのベストプラクティスに関する記事を参照してください。
重なり合っているエレメントからの選択
生成AIによるアサーションのエレメントを選択する場合、デフォルトでマウス位置にあるz-indexが最も大きいエレメントがmablトレーナーで強調表示されます。
重なり合っている別のエレメントをターゲットにする場合は、[SHIFT] キーを押しながら上下の矢印キーを使用して、マウス位置にある別のエレメントを強調表示します。Trainerで目的のエレメントが強調表示されたら、[SHIFT] キーを離してエレメントをクリックします。
重なり合っているエレメントの選択
生成AIによるアサーションとビューポートサイズ
HTMLやCSSのアサーションとは異なり、GenAIアサーションは要素のスクリーンショットに基づいて評価を行い、DOMやページソースには基づきません。
- GenAIスクリーンキャプチャアサーションの場合、スクリーンショットには現在スクリーンショットで表示されているページの部分のみが含まれます。
- 特定の要素に対するGenAIアサーションでは、スクリーンショットにはビューポート内で見える要素の部分のみが含まれます。
HTMLやCSSのアサーションとは異なり、GenAIアサーションは要素のスクリーンショットに基づいて評価され、DOMやページソースには基づきません。スクリーンショットには、ビューポート内で見える要素の部分のみが含まれます。ビューポート内に完全に表示されていないもの、例えば長いテーブル要素などに対してアサートすると、要素の画面外の部分は評価されません。
ブラウザーテストでウィンドウのサイズを変更するには、アサーションの前に "set viewport" ステップを追加します。"set viewport" ステップを使用すると、テスト実行時に生成AIによるアサーションで新しいビューポートサイズを使用することができます。トレーニングセッション中にブラウザーウィンドウのサイズを手動で変更しても、ブラウザーはクラウドでの実行時に "set viewport" ステップで指定されたサイズを引き続き使用します。
非英語の言語で出力を返す
GenAIアサーションに使用されるモデルは、英語で結果を返す傾向があります。非英語の言語でプロンプトを送信する場合、希望する出力言語を指定することで、同じ言語で結果を返す可能性を高めることができます。
たとえば、結果を日本語で返すには、プロンプトの最後に「結果を日本語で返す」と追加します。
実行の制限
生成AIによるアサーションは、トレーニング時の制限がないため、必要なだけアサーションを記述し直すことができます。ただし、実行時には、次の制限事項に留意してください。
- クラウド実行:GenAIアサーションはテストごとに6つに制限されています。この制限を超えると、テストは失敗します。
- CI RunnerおよびCLIローカル実行: mabl CLIまたはCI Runnerでローカル実行する場合、生成AIによるアサーションは失敗します。
- パフォーマンステスト: パフォーマンステストのコンテキスト内で実行する場合、生成AIによるアサーションは失敗します。