はじめに
E2Eテストの自動化において、「最後の砦」として残されがちなプロセスはありませんか?
多くのチームにとって、それは「ファイルダウンロード」機能のテストです。「請求書発行」や「CSVエクスポート」ボタンを押した後、その先にある「ダウンロードされたファイルの中身」の検証は、非常に困難な課題でした。
従来の自動化ツールでは、
- ファイルがダウンロードされたかどうかの「確認」自体が難しい。
- ダウンロードしたPDFの中身(請求書の金額やスペックシートの内容)が正しいかの「検証」は、ほぼ不可能。
という2つの大きな壁がありました。
mablは、このE2Eテストにおける「最後の砦」を攻略するため、3つのレベルの検証機能を提供しています。本記事では、この3ステップを具体的なユースケースと共に紹介します。
レベル1:ダウンロードの「存在」を確認する (基本)
まずは「砦」の第一関門、「ファイルがダウンロードされたこと」の確認です。
mablは、このステップを驚くほど簡単に自動化できます。
mablの「ダウンロードのアサーション」機能
mabl Trainerでのテスト記録中、ダウンロードリンクをクリックすると、mablはダウンロード処理を自動検出します。
[Edit Assertion] ボタンをクリックすることで、アサーションステップを 自動で追加 します。
このアサーションは非常に強力で、単なる「ファイル名」だけでなく、以下の項目も検証できます。
-
ファイル名: (例:
iba18_gold_winner.jpg,{{@filename}}のように変数名も指定可能) -
ファイルタイプ: (例:
image/jpeg,application/pdf,text/csv) - ファイルサイズ: (最小サイズ、最大サイズ、または正確なサイズ)
これにより、ファイル名が invoice_20251027.pdf のように動的に変わる場合でも、「ファイルタイプが application/pdf であること」や「ファイルサイズが0KBより大きいこと」を検証でき、正常にファイルが生成されたことを堅牢にテストできます。
- 詳細なヘルプ: ダウンロードのアサーション – mablヘルプ
レベル2:PDFの「点」を検証する (特定要素のアサーション)
mablの「PDFテスト」機能
mablは、ダウンロードしたPDFを「mabl PDFビューアー」という専用インターフェースで開き、Webページと同様にテスト対象にできます。
- 詳細なヘルプ: PDFテスト – mablヘルプ
ユースケース(日本語の領収証発行の例):
1. テスト対象のWebアプリで、領収書発行画面を開き、PDFをダウンロードします。
2. Trainerの指示に従い、[Test Contents] ボタンをクリックし、ダウンロードしたPDFを「mabl PDFビューアー」で開きます。
3. ビューアー内で、PDF内の特定の位置(=要素) に対してアサーションを作成できます。
4. 「領収書番号が変数 seqno と等しいこと」や「"宛先" の値が "舟木将彦" と等しいこと」といった、Webページの要素検証(点の検証) と全く同じ感覚で、日本語を含むPDFの中身をピンポイントでテストできます。
これにより、請求書や領収書の「金額」や「宛名」など、レイアウトが固定されたPDFの「点」の検証が可能になります。
レベル3:PDFの「面」を検証する (生成AIによる文脈アサーション)
レベル2で「砦」の内部に踏み込み、特定の「点」を検証できました。
しかし、最後の砦の「本丸」が残っています。
「ダウンロードした 10ページのスペックシート が、そもそも 期待していた製品のものか?」
このような、PDF全体の文脈 を検証するのは、レベル2の「点」の検証では不可能です。ここで前回の記事のテーマ「点から面へ」が、PDFテストの文脈で再登場します。
mablは、PDFに対しても 生成AIアサーション が可能です。
ユースケース(電子パーツ検索の例):
1. 電子パーツの検索サイトで、ある製品(例: C1608X5R1H104K)を検索します。
2. 検索結果から製品名をクリックし、そのテキストを変数 productName に保存します。
3. 製品詳細ページに移動し、「スペックシート」ボタンをクリックしてPDFをダウンロードします。
4. mabl PDFビューアーでPDFを開き、生成AIアサーションを実行します。
「面」の検証プロンプト例:
PDFファイルが、{{@productName}} の技術仕様書(スペックシート)として内容が整合しているかを判断し、日本語で結果を通知。
AIがPDFの 全ページ を読み込み、「C1608X5R1H104K」という製品の仕様(例:キャパシタンス、定格電圧など)に関する記述があるかを文脈で判断します。ファイル名が spec_v3.pdf のようであっても、中身の妥当性(=面) を検証できます。
実例(農林水産省の統計PDF):
この「面」の検証の実際の例として、下のスクリーンショットをご覧ください。
これは農林水産省のホームページから「令和7年産米の相対取引価格・数量(令和7年9月)(速報)(PDF : 157KB)」というリンクのテキストを変数 documentName に格納し、PDFファイルをダウンロードし、その後、生成AIアサーションを使い、「PDFの内容全体が、変数 documentName の示すタイトルと一致しているか」を検証した例です。
スクリーンショット中の アサーションが成功した理由 からも分かるように、AIはファイル名(aitaikakaku-441.pdf)ではなく、ダウンロードしたPDFの「中身」を実際に読み込み、内容が「令和7年産米の相対取引価格・数量」と一致するかを判断しています。
PDF以外のファイル(Excel、CSVなど)は?
本記事ではPDFの中身の検証に焦点を当てました。
PDFでは、ファイル内の特定の要素の値(点)でのアサーションと、生成AIを活用したファイルの内容(面)でのアサーションの両方が可能でした。
では、ビジネスシーンで多用される Excel(.xlsx) や CSV(.csv)、さらには 画像(.png, .jpg)、動画(.mp4)、音声(.mp3) ファイルの中身はどうでしょうか?
mablの 生成AIアサーション は、ダウンロードされたこれらの様々なファイル形式に対しても適用可能です。レベル3で紹介した「ファイルの内容全体(面)」を文脈で検証するアプローチを、これらのファイル形式にも応用できます。
以下に、リリースノートで紹介されているような具体的なプロンプト例を挙げます。
CSVファイルの検証例:
表形式データの構造や値の妥当性をチェックできます。
- プロンプト例:
ダウンロードした CSV の売上レポートに列が 12 個あること、また「Total Revenue」列に正の数値のみが含まれていることを検証します。
音声ファイルの検証例:
音声データの内容に関する品質やメタデータを確認できます。
- プロンプト例:
ダウンロードした音声トラックに「バックグラウンドのノイズがなく、トラックの長さが3:00〜3:30の間である」ことをアサーションする。
(補足)PDFの特定領域の文言チェック:
レベル2の「点の検証」とは異なり、生成AIを使えばPDF内の特定の場所(例えばフッター)に必要な情報が含まれているかを、より柔軟に検証できます。
- プロンプト例:
作成された請求書のフッターに、必要な法的免責事項の文言が表示されていることを確認します。
このように、生成AIアサーションを活用することで、PDFだけでなく、様々な種類のダウンロードファイルの中身までテストカバレッジを広げることが可能です。
まとめ:「最後の砦」の先へ
E2Eテストの「最後の砦」だったダウンロード機能の検証は、もはや「ファイルが存在すること」の確認だけではありません。
mablを活用することで、ビジネス要件に合わせて3段階の徹底的な検証が可能です。
1. 存在検証 (レベル1): ダウンロードとファイルタイプ、ファイルサイズを確認。
2. 点の検証 (レベル2): 請求書やフォームの「特定の値」を要素としてアサート。
3. 面の検証 (レベル3): スペックシートやレポートの「全体文脈」を生成AIでアサート。
これにより、Webページからその成果物であるドキュメントまで、E2Eテストのカバレッジをシームレスに拡張し、ビジネス全体の品質を継続的に担保できます。
mablを無料で試してみませんか?
今回ご紹介した機能を含む、mablの全ての機能を2週間無料でお試しいただけます。
ご興味のある方は、ぜひmabl日本語サイト右上の「MABL無料トライアル」からお申込みください。
- mabl日本語サイト: https://www.mabl.com/ja/
(注:本記事で紹介した「PDFテスト」機能は、mablのサブスクリプションのアドオンとして提供されています。フリートライアル中、またはご契約時に、詳細は担当者までお問い合わせください。)




