豊富な機能を持つE2Eテストツール、「Playwright」をご紹介! NRI OSSソリューションマガジン 2024.6.19発行 Vol.210
1.豊富な機能を持つE2Eテストツール、「Playwright」をご紹介!
いつもOpenStandiaのメールマガジンをご購読いただき、誠にありがとうございます。
ブラウザでのE2E(End-to-End)テストは要件が複雑になりやすく、人的コストが増加しやすいです。
具体的にはフォームにテキストを手入力したり、ボタンを適切に押下したり、さらには画面遷移ごとに証跡としてスクリーンショットの取得が求められることもあります。
本記事では、これらの作業を効率化するツール「Playwright」についてご紹介いたします。
〇Playwrightの概要と主な特徴
PlaywrightはMicrosoft社で開発されたWebアプリのE2Eテストフレームワークです。
PythonやTypeScript、Java、.Netなど幅広い言語に対応しており、クロスブラウザかつクロスプラットフォームなツールであるため、様々なプロジェクトに組み込みやすいことが特徴です。
また、公式ドキュメントも充実しています。
https://playwright.dev/
Playwrightの機能を網羅的かつ丁寧に紹介しており開発者がキャッチアップしやすいことも魅力の一つです。
〇代表的な機能
1. コード生成機能
Playwrightにはユーザの操作からテストスクリプトを生成する機能が備わっています。
ブラウザでの手動操作をテストスクリプトとして記録して、生成されたテストスクリプトをPlaywrightで実行すると手動での操作を自動的に再現します。
さらに、手動操作の途中にアサーションを挿入することも可能で、ページ上に特定の要素が存在しているかアサーションチェックをすることも可能です。
そのため、スクリプトを作成するコストが軽減されます。
2. トレース機能
テスト実行時にアプリケーションの動作を記録して、テスト後に記録した動作を確認できるGUI機能を提供しています。
この機能を使うと、テスト実行時の画面遷移や各アクションを振り返ることができます。
さらに、DOMの状態も記録してくれることから、テスト実行時のHTMLやCSSなどを検査することも可能です。
ご興味がある方は、ぜひお試しください。
OpenStandiaではOSSの技術サポートを提供しています。
現在のサポート対象OSSは下記OpenStandiaサイトから確認できます。
◆OpenStandiaサポート対象OSS一覧
https://openstandia.jp/services/#supportlist
2.OSS紹介ページ 今月のアップデート(新規:1件、更新:7件)
(新規)
Red Hat build of Keycloak (https://openstandia.jp/oss_info/rhbk/)
(更新)
Apache Spark (https://openstandia.jp/oss_info/spark/)
Apache Tomcat (https://openstandia.jp/oss_info/tomcat/)
Helm (https://openstandia.jp/oss_info/helm/)
Istio (https://openstandia.jp/oss_info/istio/)
Jaeger (https://openstandia.jp/oss_info/jaeger/)
React (https://openstandia.jp/oss_info/react/)
Redis (https://openstandia.jp/oss_info/redis/)
3.OSS紹介ページ 今月のアクセスランキングTOP10
オープンソース情報ページ「OpenStandia OSS紹介」のアクセスTOP10をご紹介
↑ 1位 (3位) PHP (https://openstandia.jp/oss_info/php/)
→ 2位 (2位) Apache Tomcat (https://openstandia.jp/oss_info/tomcat/)
↓ 3位 (1位) Keycloak (https://openstandia.jp/oss_info/keycloak/)
↑ 4位 (5位) PostgreSQL (https://openstandia.jp/oss_info/postgresql/)
↓ 5位 (4位) Apache HTTP Server (https://openstandia.jp/oss_info/apache/)
→ 6位 (6位) MySQL (https://openstandia.jp/oss_info/mysql/)
→ 7位 (7位) Nginx (https://openstandia.jp/oss_info/nginx/)
→ 8位 (8位) Spring Framework (https://openstandia.jp/oss_info/spring/)
↑ 9位 (ランク外) Rocky Linux (https://openstandia.jp/oss_info/rocky-linux/)
↑ 10位 (ランク外) Docker (https://openstandia.jp/oss_info/docker/)
※( )内は前月の順位
◆OSS総合情報ページ「OpenStandia OSS紹介」はこちら
https://openstandia.jp/oss_info/
4.今月注目のバグ&セキュリティ情報
【Mozilla】 PDF.js での任意の JavaScript 実行
NPM パッケージの「braces」は、処理できる文字数を制限していないため、メモリ不足につながる可能性があります。
「lib/parse.js」では、悪意のあるユーザーが「不均衡な中括弧」を入力として送信すると、解析がループに入り、ループのどの時点でもヒープメモリを解放せずに割り当て始めます。
最終的に、JavaScript ヒープ制限に達し、プログラムがクラッシュします。
詳細は下記関連情報の National Vulnerability Database のページをご参照ください。
本脆弱性の影響を受ける環境は下記となります。
・Red Hat Enterprise Linux 6
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 7
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 8
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 9
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 8.2 Advanced Update Support
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 8.6 Extended Update Support
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 8.8 Extended Update Support
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 9.0 Extended Update Support
firefox(*)
thunderbird(*)
・Red Hat Enterprise Linux 9.2 Extended Update Support
firefox(*)
thunderbird(*)
*詳細バージョンについては、Red Hat 社の今後のアナウンスをご確認ください。
関連情報
・National Vulnerability Database
https://nvd.nist.gov/vuln/detail/CVE-2024-4367
・Common Vulnerabilities and Exposures (CVE)
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-4367
◆OpenStandiaオープンソース年間サポートサービスのご紹介
https://openstandia.jp/services/