Python用のSelenium非公式ドキュメントの翻訳の紹介。
バイジュムツカダンの許可を得て翻訳。
オリジナルは
こちらにあります 。
記事の著者からの序文
Selenium WebDriverは、ブラウザーを管理するためのソフトウェアライブラリです。 WebDriverは、これらのドライバーを管理するために設計されたさまざまなプログラミング言語のさまざまなブラウザーおよびクライアントライブラリ用のドライバーです。
基本的に、このようなWebドライバーの使用は、ブラウザーでのすべての手動作業を自動的に実行するボットの作成に帰着します。
WebDriverライブラリは、Java、.Net(C#)、Python、Ruby、JavaScriptで利用でき、Firefox、InternetExplorer、Safari、Andriod、iOS(およびChrome、Opera)のブラウザー用にドライバーが実装されています。
適用範囲ほとんどの場合、Selenium WebDriverは、Webサイト/ Webベースのアプリケーションの機能をテストするために使用されます。 自動テストは、繰り返しテストを複数回実行できるため便利です。 回帰テスト、つまり、新しいコードを変更した後に古いコードが正しく機能しなくなったことを確認することは、自動化が必要な典型的な例です。 WebDriverは、必要なすべてのメソッドを提供し、高いテスト速度を提供し、テストの正確性を保証します(ヒューマンファクターが除外されているため)。 Seleniumの公式ドキュメントには、Webアプリケーションの自動テストの次の利点が記載されています。
- より頻繁に回帰テストを実施する能力;
- 開発者への製品ステータスの迅速な報告
- 潜在的に無限の数のテスト実行を取得する
- アジャイルおよび極端な開発方法のサポートを提供します。
- 厳格なテスト文書の維持。
- 手動テストの段階でスキップされたエラーの検出。
WebDriverの機能を使用すると、テストだけでなくWebサービスの管理にも使用できるため、手動によるアクションの数を可能な限り減らすことができます。 Selenium WebDriverは、たとえばサイトのコアが古く、小さな機能を実装するためにモデレーターからの多くのジェスチャーが必要な場合(たとえば、フォトギャラリーのアップロード)に不可欠なツールになります。
また、Selenium WebDriverの不可欠な機能の1つは、ページの読み込みを待機しています。 これには、「次のテキストを含む」リダイレクトまたは待機ページが原因でページ上のデータを解析できない場合が含まれます。 言うまでもなく、このようなページは解析の目的ではありませんが、それらを回避することはできない場合がよくあります。 当然、Selenium WebDriverなし。 Selenium WebDriverを使用すると、たとえば、必要な名前の要素がページに表示されるまで、人が期待するような「待機」を行うことができます。
Seleniumのもう1つの利点は、Webドライバーのアクションが視覚的に表示され、ページに費やす時間が最小限で済むことです。これにより、サービスのプレゼンテーションが必要なときにサイトの機能を簡単に実証できます。
WebDriverのいくつかの問題(ネットワークおよび個人的な経験から):
- ブラウザによって動作が異なることがあります。
- 要素を見つけるのが難しい場合があります(XPathや他のメソッドは動作するはずですが、動作するはずですが)。
- 原因不明のドライバーがテストの途中でクラッシュします。
- ブラウザーの最初のタブでのみ相互作用が可能です。ドライバーは、新しいタブと新しいウィンドウを開くことを許可しますが、それらを操作することはできません。
- テストのアーキテクチャを明確に検討し、多くの場合アサートまたは期待を使用して、テストを実行するタイミングと実行しないタイミングを「考える」ことが必要です。
Seleniumプロジェクトとその一連のソフトウェアの詳細については、
公式ドキュメントまたは
その翻訳を ご覧ください 。
内容:
1.インストール
2.
最初のステップ3.
ナビゲーション4.
検索要素5.
期待6.ページ
オブジェクト7. WebDriver API
8.付録:よくある質問
1.インストール
1.1。 はじめに
SeleniumをPythonにバインドすると、シンプルなAPI [アプリケーションプログラミングインターフェイス]が提供されます。 Per。] Selenium WebDriver Webドライバーを使用して機能テスト/コンプライアンステストを記述します。 Selenium Python APIを使用すると、Selenium WebDriverのすべての機能に直感的にアクセスできます。
Python-Seleniumバインディングは、Firefox、IE、Chrome、RemoteなどのSelenium Webドライバーにアクセスするための便利なAPIを提供します。 Pythonバージョン2.7、3.2、3.3、および3.4が現在サポートされています。
このドキュメントは、Selenium 2 WebDriver APIをカバーしています。 Selenium 1 / Selenium RC APIは含まれていません。
1.2。 Selenium for Pythonをダウンロードする
PyPIのseleniumパッケージページからPythonへのSeleniumバインディングをダウンロードできます。 ただし、最良の方法は
pipモジュールを使用することです。 Python 3.4では、
標準ライブラリにpipが含まれて
います 。 pipを使用すると、次のコマンドでセレンをインストールできます。
pip install selenium
virtualenvを使用して、Pythonサンドボックスを作成できます。 Python 3.4ライブラリには、
pyvenvモジュールも含まれて
います。これは、
virtualenvとほぼ同じです。
1.3。 Windowsユーザー向けの詳細な手順
ご注意
このインストールには、インターネットへのアクセスが必要です。
1.
python.orgダウンロードページにあるMSIファイルからPython 3.4をインストールし
ます 。
2.以下に示すように、cmd.exeプログラムからコマンドラインを実行し、pipコマンドを実行してseleniumをインストールします。
C:\ Python34 \ Scripts \ pip.exe install selenium
これで、Pythonを使用してテストスクリプトを実行できます。 たとえば、Seleniumに基づいてスクリプトを作成し、C:\ my_selenium_script.pyに保存した場合、次のコマンドで実行できます。
C:\ Python34 \ python.exe C:\ my_selenium_script.py
1.4。 Seleniumサーバーをダウンロードする
ご注意
リモートWebDriverを使用する場合、Seleniumサーバーが必要です。 トランス。]。 詳細については、リモートWebDriverでのSeleniumの使用を参照してください。 Seleniumを学習し始めたばかりの場合は、このセクションをスキップして次の章に進んでください。
SeleniumサーバーはJavaで書かれています。 実行するには、推奨されるJava Runtime Environment(JRE)バージョン1.6以上。
Selenium server 2.xは
、seleniumダウンロードページからダウンロードできます 。 ファイル名は、selenium-server-standalone-2.xxjarのようになります。 Seleniumサーバー2.xの最新バージョンはいつでもダウンロードできます。
Java Runtime Environment(JRE)がシステムにインストールされていない場合は
、Oracle WebサイトからJREをダウンロードできます。 GNU / Linuxシステムを使用していて、ルート権限がある場合[管理者権限-約。 per。]、システムの指示に従ってJREをインストールすることもできます。
javaコマンドがPATH(環境変数)で使用可能な場合、次のコマンドを使用してSeleniumサーバーを起動できます。
java -jar selenium-server-standalone-2.xxjar
2.xxを、サイトからダウンロードしたSeleniumサーバーの現在のバージョンに置き換えます。
JREが非ルートユーザーの下にインストールされている場合、および/またはPATH環境変数で使用できない場合は、Javaファイルへの相対パスまたはフルパスを入力できます。 同様に、Seleniumサーバーjarファイルの名前を相対パスまたは絶対パスに追加できます。 その後、コマンドは次のようになります。
/パス/ to / java -jar /パス/ to / selenium-server-standalone-2.xxjar
次の章に進む