ソフトウェアテスト業界が急速に進化している中で、PlaywrightはWeb UIテストを自動化する開発者向けの人気フレームワークとして登場しました。しかし、組織が拡大し、アプリケーションがより複雑になり、変更の頻度が上がるにつれ、スクリプトによるテスト自動化では、テストのメンテナンスや、メールやPDFのテスト、データベース接続、多要素認証(MFA)などの複雑なテストシナリオに大きな課題が生じることが増えてきました。
2024年11月20日に開催した mabl Experience 2024 Japan では、mablの品質に対する最新のアプローチとPlaywrightとの連携により、ソフトウェアテストへの取り組みの強化、コラボレーションの改善、そしてチームがより大規模なテストカバレッジを達成するサポートができることを紹介しました。本ブログでは、その内容について掘り下げていきます。
上の図からも読み取れるように、Playwrightの人気は最近急上昇しており、開発者の中での普及率ではSeleniumとCypressを上回っています。これは単なる偶然ではなく、いくつかの要因によってもたらされたものです:
Playwrightには数多くのメリットがありますが、スクリプトによるテスト自動化だけに頼っていると、アプリケーションが成長し、変更を重ねるにつれてボトルネックが生じる可能性があります。下の図から、Playwrightによってテストが網羅する範囲は直線的に増加するかもしれませんが、それらのテストのメンテナンスに必要な労力も指数関数的に増加することがお分かりいただけるでしょう。 その結果、開発に追いつくために新しいテストを作成するのではなく、壊れたテストの修正にチームの時間の大部分が費やされる状況にすぐに陥る可能性があります。 Playwrightのみで網羅的なテストを構築するには、数か月、あるいはそれ以上がかかるかもしれません。
Playwrightのみを採用すると、以下の課題に直面する可能性があります:
では、もしすでにPlaywrightに多額の投資を行っている場合はどうでしょうか? これらの課題を対処し、テスト自動化の取り組みを効果的に拡大するにはどうすればよいのでしょうか?
Playwrightとmablを連携させれば、チームはPlaywrightのスキルとテストスイートを活用しながら、mablのインテリジェントなテスト自動化プラットフォームのメリット両方を最大限に活用できます。開発者はPlaywrightで信頼性の高いテストを構築し続け、mablの高度な機能を活用して複雑なシナリオを簡素化することができます。また、他のチームメンバーもmablのローコードインターフェースを使用して、品質向上に貢献することができます。
mablはPlaywrightテストとシームレスに連携できるため、既存の設定を継続しながら、mablの高度な機能を利用することができます。テストを書き直したり、使い慣れたワークフローを変更する必要はありません。
mabl for Playwright を使用すると、開発者は Playwright テストを簡単に拡張して、複雑なシナリオをカバーすることができます。 メールテスト、PDF検証、AIによるアサーションなどを簡単に組み込むことができます。
Playwrightをmablと統合することで、品質に関する統一されたレポートを提供します。両プラットフォームからのテスト結果がmablのダッシュボードに集約されるため、すべてのテスト作業における品質の全体像を把握することができます。
mablの高度なテスト機能を統合することで、Playwrightテストの機能を拡張できます。 まず、@mablhq/playwright-tools パッケージをインストールしてください。これで、以下のmabl機能をPlaywrightのテストスイートにシームレスに組み込むことができます
例えば、PlaywrightのテストにAIによるアサーションを追加するのはとても簡単です:
// Create a prompt to supply to the Gen AI tool(生成AIツールに渡すプロンプトを作成する)
const prompt = `Please validate that the web page you are looking at is a marketing page for a company named mabl which does automated UI testing. Also validate that there are no broken images on the page`;
// Supply the Playwright Page to the evaluate function so mabl can extract a screenshot and other information to use with the prompt (評価関数に Playwright ページを指定することで、mabl がスクリーンショットやその他の情報を抽出し、プロンプトで使用できるようになる)
const result = await mabl.evaluateGenAiAssertion(page, prompt);
// The result returned includes both a success (true/false) attribute as well as an explanation for the evaluation(返される結果には、成功(true/false)属性と評価の説明の両方が含まれています。)
console.log(`GEN AI EXPLANATION: [${result.explanation}]`);
expect(result.success).toBe(true);
これは、mabl for Playwrightで実現できることのほんの一部です。統合、インストール手順、詳細な使用例についてさらに詳しく知りたい場合は、公式のmabl for Playwrightドキュメント(英語版)をご覧ください。
mabl for Playwright を使用し、Playwright テストを構成して結果を mabl に直接報告するように設定することで、すべてのテスト作業を一元的に確認できるようになります。これにより、Playwright テストと mabl テストの両方からのインサイトを統合し、品質管理の全体像を包括的に把握することができます。
@mablhq/playwright-reporterパッケージを使用すると、テスト実行データを簡単にmablワークスペースに送信できます。これにより、以下のことが可能になります。
Playwrightテストをmablにレポートするように設定するのはとても簡単です:
import { defineConfig } from '@playwright/test';
export default defineConfig({
reporter: [
[
'@mablhq/playwright-reporter',
{
apiKey: process.env.MABL_API_KEY,
workspaceId: process.env.MABL_WORKSPACE_ID,
planName: 'SAMPLE_PLAN_NAME'
},
],
],
});
Playwrightテストが実行されると、テスト完了時に出力がmablに返されます。これらの結果は、mablの他のテスト結果とともに「Results」タブで確認できます。
米国で開催されたmabl ExperienceでのProduct keynoteセッションでmabl for Playwrightについて紹介した動画もございます。(英語版)
mabl for Playwrightは、AI機能を活用してPlaywrightテストを強化し、複雑なテストシナリオを簡素化し、すべてのテスト作業における品質の統一的なビューを提供します。テスト作成の高速化、テストの安定性の向上、コラボレーションの強化を目指すチームに最適なソリューションです。
Playwrightのテストを次のレベルに進めてみませんか? mabl for Playwrightを今すぐお試しください。14日間のトライアルで、全機能を無料でお試しいただけます。