ビジュアルアサーションを使用すると、生成AIを活用して、テキストコンテンツ、品質、画像など、アプリケーションのより複雑な側面を検証できます。
名前の変更
ビジュアルアサーションは、以前は生成AIアサーションとして知られていました。
この記事では、Webおよびモバイルアプリケーションでページコンテンツを検証するためのビジュアルアサーションの作成方法について説明します。ダウンロードしたファイルの内容を検証するためのビジュアルアサーションの使用に関する詳細については、ダウンロードアサーションに関する記事を参照してください。
ビジュアルアサーションの作成方法
ビジュアルアサーションを作成するには、mablトレーナーでWebまたはモバイルアプリケーションを開き、アプリケーションを目的の状態にします。次に、以下のステップを実行します:
- Trainerウィンドウで、チェックマークアイコンをクリックし、新しいアサーションを作成します。
- 検証したい内容を特定する:
- ページ全体を検証するには、画面をクリックします。
- ページの一部を検証するには、要素をクリックします。ページ上で検証したい要素を選択し、要素アサーションメニューでビジュアルを選択します。
- アサーションの説明フィールドに、自然言語を使用して検証したい内容を記述します。アサーションの説明には、DataTablesの値やその他のデータ駆動型変数を含む、テストで使用される変数への参照を含めることができます。例:「結果が{{@search_input}}に関連していることを確認する。」
- [テストアサーション] をクリックします。このアサーションを初めてテストする場合、mablによってアサーションの条件が生成されます。 この条件はアサーションの説明とともにLLMに送信され、アサーションの一部として評価する一貫性のある条件が提供されます。アサーションの説明を記述し直す場合、現在のアサーションの説明の状態を反映してアサーションの条件も更新されます。
- 失敗時の動作を選択します。デフォルトでは、ビジュアルアサーションは「テスト終了時に失敗にする」に設定されています。
- OKをクリックします。
ビジュアルアサーションのベストプラクティスについては、ビジュアルアサーションのベストプラクティスの記事を参照してください。
ビジュアルアサーションとビューポートサイズ
HTMLアサーションやCSSアサーションとは異なり、ビジュアルアサーションはDOMやページソースではなく、要素のスクリーンショットに基づいて評価されます。
- ビジュアルスクリーンアサーションの場合、スクリーンショットにはスクリーンショット内で現在表示されているページの部分のみが含まれます。
- 特定の要素に対するビジュアルアサーションの場合、スクリーンショットにはビューポート内に表示されている要素の部分のみが含まれます。
ビューポート内に完全に表示されていないもの(長いテーブル要素など)に対してアサーションを実行する場合、画面外にある要素の部分は評価されません。
ブラウザテストでウィンドウのサイズを変更するには、アサーションの前に「set viewport」ステップを追加します。「set viewport」ステップにより、テスト実行中にビジュアルアサーションで新しいビューポートサイズが使用されるようになります。トレーニングセッション中に手動でブラウザウィンドウのサイズを変更した場合でも、クラウドで実行する際には「set viewport」ステップで指定されたサイズが使用されます。
非英語の言語で出力を返す
ビジュアルアサーションに使用されるモデルは、英語で結果を返すように偏っています。英語以外の言語でプロンプトを送信する場合、希望する出力言語を指定することで、同じ言語で結果が返される可能性を高めることができます。
例えば、結果を日本語で返すには、プロンプトの最後に「結果を日本語で返してください」という文を追加します。
ビジュアルアサーションを使用したテストの実行
ビジュアルアサーションは、Trainerのリプレイ、ローカル実行、クラウド実行でサポートされています。mabl CLIからローカル実行をトリガーする場合、ビジュアルアサーションを有効にするには--allow-billable-featuresフラグを使用する必要があります。例:
mabl tests run --id {test-id} --allow-billable-features実行の制限
トレーニング中は、ビジュアルアサーションは無制限なので、必要なだけアサーションを繰り返し調整できます。ただし、ローカルまたはクラウドでテストを実行する場合は、以下の制限事項に注意してください:
- テストあたりの制限: ビジュアルアサーションはテストあたり30個に制限されています。
- パフォーマンステスト: ビジュアルアサーションは、パフォーマンステストのコンテキスト内で実行すると失敗します。