18章スクレイパーによるWebサイトのテスト
大規模な開発スタックを伴うWebプロジェクトに携わっていると、定期的にテストされるのはスタックの「バックエンド」部分だけということがよくあります。現代の主要なプログラミング言語(Pythonを含む)には何らかのテストフレームワークが備えられていますが、ユーザーにとってインターフェースとなるWebサイトのフロントエンドは、こうした自動テストの対象から外されがちです。
この問題の一因として、Webサイトが多様なマークアップ言語やプログラミング言語で構成されている、という点があります。JavaScriptの特定部分に対してユニットテストを書いても、連携するHTML側が変更されていて、JavaScriptがページで期待していた動作が変わってしまうと、JavaScript自体が正しく動いていても意味がありません。
フロントエンドのWebサイトをテストするという課題は、軽視されがちであったり、チェックリストやバグトラッカーを使う程度の下位レイヤーのプログラマーに任されたりすることが多いのが現状です。とはいえ、少しの手間をかけるだけで、これらのチェックリストをユニットテストに置き換え、人間の目視検証をWebスクレイパーに置き換えることができます。
Web開発におけるテストを活用した開発を想像してみてください。Webインターフェースのすべての機能が想定通りに動いているかを日次で確認するリグレッションテストです。新しい機能を追加したり、要素の配置を変えたりするたびに、自動テストが実行されます。本章では、テストの基本的な考え方と、シンプルなサイトから複雑なサイトに至るまで、PythonベースのWebスクレイパーを使ってあらゆるWebサイトをテストする方法を解説します。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access