Seleniumコードの整理と実行

IDEとテストランナーライブラリを使用したSelenium実行のスケーリング

一握り以上の 1 回限りのスクリプトを実行する場合は、コードを整理して操作できる必要があります。このページでは、Seleniumコードを使用して実際に生産的なことを行う方法についてのアイデアを提供します。

一般的な用途

ほとんどの人はSeleniumを使用してWebアプリケーションの自動テストを実行します。 しかし、Seleniumはブラウザ自動化のあらゆるユースケースをサポートします。

反復タスク

おそらく、Webサイトにログインして何かをダウンロードするか、フォームを送信する必要があります。 Selenium スクリプトを作成して、あらかじめ設定された時間にサービスと共に実行できます。

Webスクレイピング

API がないサイトからデータを収集したいとお考えですか? Selenium では可能ですが、Web サイトの利用規約をよく理解しておいてください。 許可していないサイトもあり、Selenium をブロックするサイトさえあります。

テスティング

テストでSeleniumを実行するには、Seleniumが実行した操作に対してアサーションを行う必要があります。 そのため、優れたアサーションライブラリが必要です。テストに構造を与える追加機能には、 テストランナーを使用する必要があります。

IDEs

Seleniumコードの使用方法に関係なく、優れた統合開発環境がなければ、Seleniumコードの作成や実行はあまり効果的ではありません。一般的なオプションを次に示します…

Test Runner

テストにSeleniumを使用していない場合でも、高度なユースケースでは、テストランナーを使うとコードを より適切に整理できる場合があります。before/afterフックを使用し、処理をグループ単位または並列で 実行できることは、非常に便利です。

テストランナーの選び方

さまざまなテストランナーが利用可能です。

このドキュメントのすべてのコード例は、テストランナーを使用するサンプルディレクトリに格納されているか、 格納先を移行中です。すべてのコードが正しく更新されていることを確認するため、リリースのたびに実行されます。 以下にテストランナーをリンクとともに示します。各リストの最初の項目は、このリポジトリと このページのすべての例で使用されているものです。

  • JUnit - JavaベースのSeleniumテストで広く使用されているテストフレームワーク。
  • TestNG - 並列テスト実行やパラメーター化されたテストなどの追加機能を提供します。
  • pytest - そのシンプルさと強力なプラグインのおかげで、多くの人に好まれる選択肢です。
  • unittest - Python の標準ライブラリテストフレームワーク。
  • NUnit - .NET の一般的な単体テスト フレームワーク。
  • MS Test - Microsoft 独自の単体テスト フレームワーク。
  • RSpec - RubyでSeleniumテストを実行するために最も広く使用されているテストライブラリ。
  • Minitest - Ruby標準ライブラリに付属する軽量なテストフレームワークです。
  • Jest - 主にReactのテストフレームワークとして知られていますが、Seleniumのテストにも使用できます。
  • Mocha - Seleniumテストを実行するための最も一般的なJSライブラリ。
  • Kotest - Kotlin専用に設計された、柔軟で包括的なテストフレームワークです。
  • JUnit5 - 標準的なJavaテストフレームワークであり、Kotlinと完全に互換性があります。

インストール

これはSeleniumライブラリのインストールで必要な手順と非常によく似ています。 このコードは、ドキュメント用のサンプルプロジェクトで使用しているものの例を示すだけです。

Maven

Gradle

プロジェクトで使用するには、requirements.txt ファイルに追加します:

プロジェクトの ‘csproj’ ファイルで、依存関係を ‘ItemGroup’ の ‘PackageReference’ として指定します:

プロジェクトの gemfile に追加

プロジェクトの ‘package.json’ で、要件を ‘dependencies’ に追加します。:

アサーション

セットアップとティアダウン

セットアップ

ティアダウン

セットアップ

ティアダウン

セットアップ

ティアダウン

### セットアップ
### ティアダウン

実行

Maven

mvn clean test

Gradle

gradle clean test

Mocha

mocha runningTests.spec.js

npx

npx mocha runningTests.spec.js

例

最初のスクリプトのトピックでは、Seleniumスクリプトの各コンポーネントを見ました。こちらが、テストランナーを使用したそのコードの例です。

次のステップ

学んだことを活かして、Seleniumコードを構築します!

必要な機能が他にも見つかったら、残りの機能をお読みください WebDriver ドキュメント.