エンドツーエンドテストのシナリオを網羅できるように、mablトレーナーはあなたのアプリからのファイルダウンロードを検出し、アサーションを自動で追加します。既定では、トレーナーはダウンロードされたファイル名に対してアサートしますが、アサーションを編集して、ファイルの内容やその他のメタデータを検証することもできます。
この記事では、Trainer でダウンロードのアサーションを扱う方法を、次の内容を含めて説明します。
Trainerでのダウンロードアサーションステップ
ファイルのメタデータにアサーションを追加
ファイル名、ファイルタイプ、ファイルサイズなどのファイルメタデータに対してアサートするには、アサーションを編集をクリックします。あるいは、ダウンロードのアサーションのステップにある編集用の鉛筆アイコンをクリックします。
動的に生成されるファイル名
ダウンロードされるファイルの名前を動的に生成するアプリケーションの場合、ファイルがダウンロードされたことをアサートするために、次のいずれかのワークフローを試すことができます。
- 部分文字列マッチングを使用する - ファイル名の一部が予測可能な場合は、contains、starts with、ends with、matches regex などの部分一致アサーションタイプを使用してください。
-
mabl の変数構文を使う - ファイル名の生成方法がわかっている場合、またはダウンロード前にページからファイル名を抽出できる場合は、ファイル名を変数に保存し、mabl の変数構文を使ってそのファイル名に対してアサートします。たとえば、
{{@filename}}のように指定します。 - ファイル名のアサーションを削除する - ダウンロード前にファイル名が分からない場合は、ダウンロードのアサーションからファイル名を外し、MIME タイプやファイルサイズなど、ほかの属性でアサートしてください。
ダウンロードアサーションでのmabl変数構文の使用
ファイル名アサーションに関する注意事項
- ダウンロードアサーションは現在、ファイル名内でのワイルドカード(
*)の使用をサポートしていません。 - アクセント付き文字を含むファイル名では、ダウンロード用のアサーションはサポートされていません。
- matches regex アサーションにはJavaScriptの正規表現構文を使用してください。なお、スラッシュが指定されていない場合、mablはファイル名アサーションにおいて大文字と小文字を区別しないマッチングをデフォルトとし、異なるファイルシステム間での互換性を確保します。この設定は、デフォルトで大文字と小文字を区別する他のアサーションタイプの正規表現マッチングとは異なります。
ファイル内容にアサートする
ダウンロードしたファイルの内容は、ビジュアルアサーションでも検証できます。スプレッドシート、画像、PDF、音声、動画など、一般的なファイル形式に対応しています。
早期アクセス
ファイルダウンロード向けのビジュアルアサーションは、現在、すべてのmablのお客様とトライアルユーザーが早期アクセスでご利用いただけます。アクセスは、Labsページから可能です。
一般提供の前には、予告なく機能が変更される場合があります。
ダウンロードしたファイルの内容をアサーションするには、ダウンロードアサーションステップを編集します。検証したい内容を説明する自然言語プロンプトを入力してください。ファイルの内容を確認したい場合は、ファイルを表示をクリックします。アサーションをテストする準備ができたら、テストアサーションをクリックしてください。
アサーションを初めてテストすると、mablはアサーション基準を生成します。これらの基準はアサーションの説明とともにLLMに送信され、アサーションの一部として評価する一貫した基準セットを提供します。アサーション基準が意図と一致しない場合は、必要に応じて基準を追加、編集、削除できます。アサーションのプロンプトを更新した場合は、アサーション基準も更新することをお勧めします。テストアサーションのドロップダウンにある基準を再生成ボタンをクリックすると、手動編集を含む現在のすべての基準が、プロンプトに基づいてAIが生成した新しい基準に置き換えられます。
ファイルダウンロード用のビジュアルアサーションをテストする
スクリーンショットとビューポート
ファイルのダウンロードに対してアサーションを行う場合、ビジュアルアサーションには、ダウンロードしたファイルの内容と、そのファイルをダウンロードした元のページのスクリーンショットの両方が含まれます。ページのスクリーンショットを使うと、ファイルとアプリ全体にまたがるデータに対して検証を作成できます。たとえば、スプレッドシートのファイルデータが、現在のページに表示されている製品情報と一致していることをアサートできます。
スクリーンショットには、現在ビューポートに表示されているページの範囲のみが含まれる点に注意してください。ビューポート内で完全に見えていない要素にアサーションを行うと、画面外の部分は評価に含まれません。ウィンドウサイズを変更するには、アサーションの前に「ビューポートの設定」のステップを追加してください: + (ステップを追加) > ビューポートの設定.
ビジュアルアサーションを使用したテストの実行
ビジュアルアサーションは、Trainerのリプレイ、ローカル実行、クラウド実行でサポートされています。mabl CLIからローカル実行をトリガーする場合、ビジュアルアサーションを有効にするには--allow-billable-featuresフラグを使用する必要があります。例:
mabl tests run --id {test-id} --allow-billable-features実行の制限
トレーニング中は、ビジュアルアサーションは無制限で使用できるため、必要なだけアサーションを繰り返し調整できます。ただし、ローカルまたはクラウドでテストを実行する場合は、以下の制限事項に注意してください:
- テストごとの上限: ビジュアルアサーションは、1テストあたり30件までです。
- パフォーマンステスト:ビジュアルアサーションは、パフォーマンステストのコンテキスト内で実行すると失敗します。
ダウンロードアサーションの再生
Trainer でダウンロードのアサーションをリプレイするには、ダウンロードを開始するクリックのステップ直前に Trainer のカーソルを移動し、再生をクリックします。Trainer は、繰り返しダウンロードされたファイルに付与される番号を自動的に省略し、アサーションの比較では foo (1).zip を foo.zip として扱います。この機能により、手動でファイルをクリーンアップすることなく、リプレイによるテストが行えます。
Chromeの制限により、ファイルのダウンロードは100回までです。mablトレーナーでダウンロードステップの再生が100回を超えると、ダウンロードを行うたびにChromeでファイル保存モーダルが自動的に開くため、それ以上ダウンロードステップの再生はできません。再生機能を復元するには、ダウンロードされたファイルをマシンから削除してください。
制限事項
テストでファイルをダウンロードする際の次の制限事項に注意してください。
- ファイルのアサーションは、記録したクリックのステップでサポートされています。CSS または XPath を使用するクリックのステップでは、ダウンロードのアサーションはトリガーされません。
- Trainer は、複数のダウンロードを並行して検証できません。
- mabl は、各トレーニングセッションやテスト実行の最後に、ダウンロードしたファイルを自動的にクリーンアップします。 このため、トレーニングセッションの外でダウンロードしたファイルの内容を手動で確認することはできません。
- ダウンロードアサーションのタイムアウトまでの待機時間は最長30秒です。ダウンロードがデフォルトの30秒のダウンロードタイムアウトより長くかかる場合は、ダウンロードアサーションの前にwaitステップを追加してください。
次の機能のいずれかがあなたのチームにとって重要であれば、mabl Product Portalでお知らせください。