こんにちは。ITSS事業部の豊田です。
弊社に4月に入社してから9月で5ヵ月目になり、未経験からのスタートだった私は日々勉強勉強なわけですが、
せっかくなので勉強している内容などをこちらのブログの方にも書かせていただくことにしました。
完全に初心者向けの内容になってしまいますが、未経験で弊社に入社した新人の方や、弊社に入りたいけどあまり経験がなくて…という方がこれを読んで参考にしていただけたらなーと思っています。
技術ブログと今まで書いていたような日常のブログを交互に書いていこうと思っています。よろしくお願いいたします。

さて今日書かせていただくのはSeleniumについてです。
Seleniumとは、ブラウザ上で動作するWebアプリケーションの自動テストに特化したツールです。
現在参加させていただいている案件でこのSeleniumを用いたテストをしたいという話になり、
私が調査をしてサンプルプログラムを作ることになったので今回のネタにさせていただきました。

ではさっそくですがseleniumを使ってみよう!!
ということで環境構築からスタートです。
私の現在の開発言語がjavaなのとそもそも私はjava以外殆ど書けな…げふんげふんのため、今回はjavaでseleniumを使っていきます。
開発環境はeclipceです。

まずはこちらのサイトにアクセスして→http://www.seleniumhq.org/download/

javaのライブラリをダウンロードします。
ダウンロードしたzipを解凍するとこんな感じになってるので

libフォルダの中身のjarも含めてビルドパスを通します。
さらにこちらから→https://github.com/mozilla/geckodriver/releases
geckodriver.exeをダウンロードしてプロジェクト直下に配置しました。
これでfirefoxを使った操作が可能になります。
chromeを使いたいという場合はがchromedriver.exeが必要になりますがこちらは今回は割愛します。

環境は整ったのでSeleniumを使ってグーグルを開き、検索をしてみます。
書くコードはこんな感じ

基本はhtmlの要素を取得し、そこに様々な操作を指示していく形になります。
使い方はjQueryにかなり近い感じです。
テストで行いたい一連のweb上での動作をマクロを組むような感じで書いていきます。
要素はclassでもidでもnameでもoptionのテキストでも取ることができます。

こんな感じのWebDriverをnewするクラスを作って

複数のインスタンスをnewして使うと、

インスタンスごとに別窓を開いて操作することが可能です。
この場合sm1から順番にウィンドウが開いていく形になります。
複数窓を開いてから操作対象の窓を切り替えることも可能です。
要素の取得の仕方や操作方法の詳細に関しては次回のブログでお話したいと思います。

というわけで第一回超初心者技術ブログでした!