エンジニアの卵の成長日記

ふわっちで配信してますhttps://whowatch.tv/profile/w:kurowasi2525

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

概要

Selenium3 WebDriverを使ってChromeを自動操作する,環境構築とサンプルコードを作成する.


目次

1. 背景
1.1. Selenium WebDriverとは2. 目的
2.1. JavaでのWebDriverの使用方法2.2. Eclipseとは2.3. Jarファイルとは2.4. Mavenとは2.5. Gradleとは3. 環境構築
3.1. WebDriverを取得3.2. EclipseにJarを読み込ませる3.2.1. プロジェクト作成3.2.2. Jarファイルを参照する3.2.3. Chromeの場合3.3. サンプル作成4. 感想
5. 参考文献


1. 背景

卒業研究でSelenium WebDriverを使うので,WebDriverの知識が必要.


1.1. Selenium WebDriverとは

Selenium WebDriverは,プログラミング言語のコードからブラウザ操作が可能なライブラリ.

JavaRubyJavaScriptなど,各言語のライブラリとして提供されている.



2. 目的

WebDriverの知識を得るために,WebDriverを実行できる環境を構築し,サンプルを作成する.


2.1. JavaでのWebDriverの使用方法

Javaでテストスクリプトを作成する場合,通常のJava開発と同様Javaの実行環境が必要.

Eclipse上でのWebDriverのセットアップ方法は,以下の3つである.

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


2.2. Eclipseとは

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


2.3. Jarファイルとは

Java ARchiveの略.拡張子は【.jar】.

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


2.4. Mavenとは

Apache Software Foundationで開発されているプロジェクト管理ツール.

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


2.5. Gradleとは

オープンソースビルド自動化システム.

Groovyベースのドメイン固有言語(DSL)で手順を記述.

Mavenとの互換性がある.


3. 環境構築

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


3.1. WebDriverを取得

まずは,Selenium公式サイトのダウンロードページにアクセス.

http://www.seleniumhq.org/download/

Selenium Client & WebDriver Language BindingsのDownloadをクリック.

今回はJavaのWebDriverを使っていく.

zipファイルなので展開する.

(僕の場合は,selenium-java-3.5.3でした.)


3.2. EclipseにJarを読み込ませる

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

Eclipseの環境構築については,前回記事にしたので,よかったら見てください.
kurowasi2525.hatenablog.com


3.2.1. プロジェクト作成

メニューのFile→New→Java Projectをクリック.

色々入力してプロジェクト作成.(僕は【Selenium-WebDriver-Sample】というプロジェクト名にした)


3.2.2. Jarファイルを参照する

3.2.1項で作成したプロジェクト内に,libsフォルダを作成する.

3.1節でダウンロードした,

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をクリック

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

f:id:kurowasi2525:20170918022228p:plain


3.2.3. Chromeの場合

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

以下の公式サイトに移動し,Third Party Drivers, Bindings, and PluginsでGoogle Chrome Driverの(今回の場合)2.32をクリック.

僕は,Windows64bitの環境だが,64bitはないので,『chromedriver_win32.zip』をダウンロード&展開.

3.2.1項で作成したプロジェクトに『exe』フォルダを作成.

その中に,先ほど展開したフォルダ内の『chromedriver.exe』をコピーする.


3.3. サンプル作成

SampleScript.javaというJavaファイルを作成する.

中身はこのような感じ.

f:id:kurowasi2525:20170918023140p:plain

実行して,Chromeが立ち上がり,Googleを開き,Selenium3で検索がされたら成功!

最終的なディレクトリ構成はこんな感じ.

f:id:kurowasi2525:20170918023145p:plain


4. 感想

作り終わっての感想は,思ったより簡単.

だけど,2点だけ躓いた部分があった.

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

色々調べていると,Mavenを使った方が良いという意見が多かったので,

今回は,Jarを直接読み込ませて使ったが,Mavenを使ったサンプルも作っていきたいと思う.


5. 参考文献

http://wa3.i-3-i.info/word14171.html
JAR ファイルの概要
Manifest Format
1. Maven とは | TECHSCORE(テックスコア)

www.slideshare.net
gradleとは - はてなキーワード
web.plus-idea.net
javaworld.helpfulness.jp
sonomirai.hatenablog.com