Eclipseを使ってSelenium-WebDriverを使ってみた
2019/11/302017/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をクリック
こんな感じになると思う.
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ファイルを作成する.
中身はこのような感じ.
実行して,Chromeが立ち上がり,Googleを開き,Selenium3で検索がされたら成功!
最終的なディレクトリ構成はこんな感じ.
感想
作り終わっての感想は,思ったより簡単.
だけど,2点だけ躓いた部分があった.
- 僕が参考にしていた本やサイトはSelenium2についての記述だった.
Selenium2と3では,ディレクトリ構成も違うし,jarのファイル数,ファイル名が違う.
そのため,少しだけ戸惑った.
2. ChromeWebDriver問題
Chromeの場合は,Chrome WebDriverをダウンロードしたりしなければならないためか,Firefoxでの記事が多かった.
Chromeの記事があっても,Selenium2での記事が多い
色々調べていると,Mavenを使った方が良いという意見が多かったので,
今回は,Jarを直接読み込ませて使ったが,Mavenを使ったサンプルも作っていきたいと思う.
Twitterフォロー待ってます!