第9章 サードパーティとの統合 サードパーティとの統合
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、Selenium WebDriver で使用できる、異なるサードパーティの技術(ライブラリやフレームワークなど)を紹介する。Selenium WebDriver API が特定のタスクを実行するのに不十分な場合、これらの技術を使う必要がある。これはファイルのダウンロードの場合であり、ファイルが正しくダウンロードされるまで待機するためにサードパーティのユーティリティを使用するか、あるいはダウンロードを制御するためにHTTPクライアントを使用する必要がある。また、サードパーティーのプロキシを使ってHTTPトラフィックをキャプチャする。
Selenium WebDriver で外部ユーティリティを使う必要があるもう1つのシナリオは、パフォーマンス、セキュリティ、アクセシビリティ、A/Bテストのような非機能テストを実装するときである。流暢な API を使って Selenium WebDriver のテストを開発したり、偽のテストデータを生成したり、テストレポートを改善したりするために、サードパーティのライブラリを使うこともできる。最後に、振る舞い駆動開発(BDD)のためのCucumberや(Webアプリケーション開発のための)Spring Frameworkのような関連するフレームワークを統合することができる。この章では、これらすべての使い方を説明する。
チップ
本章で紹介するサードパーティ・ユーティリティを使用するには、まずプロジェクトに必要な依存関係を含める必要がある。MavenとGradleを使って各依存関係を解決するための詳細は、付録Cで発見できる。
ファイルダウンロード
Selenium WebDriverのAPIはダウンロードの進捗を公開しないため、ファイルダウンロードのサポートは。言い換えると、Selenium WebDriverを使ってWebアプリケーションからファイルをダウンロードすることはできるが、これらのファイルをローカルファイルシステムにコピーするのに必要な時間を制御することはできない。このため、Selenium WebDriverでWebダウンロードの体験を向上させるために、サードパーティライブラリを使用することができる。この目的にはさまざまな選択肢がある。以下のサブセクションでは、その方法を説明する。
ブラウザ固有の機能を使う
ブラウザ固有の機能(第5章で行ったように)を使って、ターゲットフォルダのようなファイルダウンロードのためのいくつかのパラメータを構成することができる。このアプローチは、これらの機能が Selenium WebDriver API ですぐに利用できるので便利だが、いくつかの欠点もある。第一に、異なるブラウザータイプ(Chrome、Firefoxなど)と互換性がない。言い換えれば、必要な機能は個々のブラウザで異なる。第二に、より重要なことだが、ダウンロードの進捗状況を追跡するコントロールがない。この問題を解決するには、サードパーティーのライブラリを使う必要がある。本書では、オープンソースのライブラリAwaitilityを使うことを提案する。
Awaitilityは、非同期演算子を処理する機能を提供する人気のライブラリである。このように、スレッド、タイムアウト、並行性の問題を管理するための流暢なAPIを提供している。Selenium ...
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