Eclipseを使ってSelenium-WebDriverを使ってみた

2019/11/30

2017/09/18投稿のはてなブログから移行した内容です.

Selenium WebDriverとは

Selenium WebDriverは, プログラミング言語のコードからブラウザ操作が可能なライブラリ.
Java・Ruby・JavaScriptなど, 各言語のライブラリとして提供されている.

JavaでのWebDriverの使用方法

Javaでテストスクリプトを作成する場合,通常のJava開発と同様Javaの実行環境が必要.
Eclipse上でのWebDriverのセットアップ方法は,以下の3つである.

  • Jarファイルとして提供されているJavaのクライアントライブラリを直接Eclipseに追加
  • Mavenを使用する
  • Gradleを使用する

Eclipseとは
Eclipseは,IBMが開発した無料の統合開発環境(IDE).

Jarファイルとは

Java ARchiveの略.拡張子は【.jar】.
Javaバイトコード(classファイル)やリソース(画像ファイルや音声ファイルなど)をZIPファイル形式に基づくファイル形式で保存したもの.

Mavenとは

Apache Software Foundationで開発されているプロジェクト管理ツール.
Project Object Model(POM)という考え方に基づき, プロジェクトのビルド, テスト, ドキュメンテーション, 成果物の配備など,プロジェクトのライフサイクル全体を管理する.

Gradleとは

オープンソースビルド自動化システム.
Groovyベースのドメイン固有言語(DSL)で手順を記述.
Mavenとの互換性がある.

環境構築

Eclipse OxygenとJavaのWebDriver(現在の最新ver:3.5.3)を使って構築する.

WebDriverを取得

まずは,Selenium公式サイトのダウンロードページにアクセス.
Selenium Client & WebDriver Language BindingsのDownloadをクリック.

今回はJavaのWebDriverを使っていく.
zipファイルなので展開する.
(僕の場合は,selenium-java-3.5.3でした.)

EclipseにJarを読み込ませる

まずは,Eclipseを立ち上げる.

プロジェクト作成

メニューのFile→New→Java Projectをクリック.
色々入力してプロジェクト作成.(僕は【Selenium-WebDriver-Sample】というプロジェクト名にした)

Jarファイルを参照する

プロジェクト内に, libsフォルダを作成する.
ダウンロードした,

selenium-java-3.5.3 ┣lib ←libディレクトリ内のすべてのjarファイル①
┃├cglib-nodep-3.2.4.jar
┃├......jar
┃├......jar
┃└xml-apis-1.4.01.jar
┣client-combined-3.5.3-nodeps.jar ←②
┣client-combined-3.5.3-nodeps-sources.zip
┣LICENSE
┗NOTICE

①,②をlibsフォルダにコピーする.

プロジェクト名(Selenium-WebDriver-Sample)を右クリック

Propertiesをクリック

Java Build Pathをクリック

Librariesをクリック

Add JARs...をクリック

libsフォルダ内のすべてのJarを選択

Apply and Closeをクリック

こんな感じになると思う.

20170918022228

Chromeの場合

Chromeの場合, ChromeWebDriverが必要になる.

以下の公式サイトに移動し,Third Party Drivers, Bindings, and PluginsでGoogle Chrome Driverの(今回の場合)2.32をクリック.
僕は,Windows64bitの環境だが,64bitはないので,『chromedriver_win32.zip』をダウンロード&展開.
作成したプロジェクトに『exe』フォルダを作成.
その中に,先ほど展開したフォルダ内の『chromedriver.exe』をコピーする.

サンプル作成

SampleScript.javaというJavaファイルを作成する.
中身はこのような感じ.

20170918023140

実行して,Chromeが立ち上がり,Googleを開き,Selenium3で検索がされたら成功!
最終的なディレクトリ構成はこんな感じ.

20170918023145

感想

作り終わっての感想は,思ったより簡単.
だけど,2点だけ躓いた部分があった.

  1. 僕が参考にしていた本やサイトはSelenium2についての記述だった.
    Selenium2と3では,ディレクトリ構成も違うし,jarのファイル数,ファイル名が違う.
    そのため,少しだけ戸惑った.
  2. ChromeWebDriver問題
    Chromeの場合は,Chrome WebDriverをダウンロードしたりしなければならないためか,Firefoxでの記事が多かった.
    Chromeの記事があっても,Selenium2での記事が多い

色々調べていると,Mavenを使った方が良いという意見が多かったので,
今回は,Jarを直接読み込ませて使ったが,Mavenを使ったサンプルも作っていきたいと思う.

Togelloというサービスをリリースいたしました。