『Selenium』で単純作業を自動化しよう!

  • 2017年7月20日
  • by 
『Selenium』で単純作業を自動化しよう!

こんにちは。M.Sです。

業務を見直してみると、手作業で行う業務の中に、単純かつ、時間がかかるかつ、苦痛を伴う業務が多数あると思います。
今回はそのような業務をSeleniumを使って自動化しました。

どんな作業を自動化したのか

ショーケース・ティービーで提供させていただいているサービス「フォームアシスト」は、毎月ご導入いただいている企業ごとにレポートを作成し、それぞれで改善提案を行っています。
具体的には入力項目ごとに詳細を分析し、問題点を洗い出します。当然ながら、入力フォームごとにその問題点は異なります。
コンバージョンアップを図るための改善策を打ち出すために、非常に大切な業務なんですね。

ちなみに「フォームアシスト」には独自の管理画面があり、そこから分析レポートのエクセルを出力することができます。
作業手順は下記のとおりです。

<作業手順>

  • 手順1:「フォームアシスト」の管理画面へログインする
  • 手順2:管理画面のメニュー内から「分析レポート」をクリックする
  • 手順3:出力したい対象期間を選択する
  • 手順4:「ログデータあり」をクリックする(※対象期間にデータのないページも混在しているため)
  • 手順5:表示されたページ一覧の中からページごとにチェックボックスにチェックを入れ、集計ボタンをクリック。エクセル出力ボタンをクリックする

注目していただきたいのは「手順5」です。
ページ一覧に表示されたページが1ページだけなら、以下の作業は1回だけで済みます。
「チェックボックスにチェックを入れる」
「集計ボタンをクリックする」
「エクセル出力ボタンをクリックする」

しかし、ページ一覧に表示されるページ数が100ページあったらどうでしょう。
「チェックボックスにチェックを入れる」
「集計ボタンをクリックする」
「エクセル出力ボタンをクリックする」
この作業を100回も行うことになるんです!!!
途方に暮れそうですし、クリックしすぎて人差し指が痛くなりそうですね。。。

今回はこの作業を『Selenium』によって自動化してみました。
これで何百ページあろうとも怖くありません!!!

Seleniumのソースについて

今回、3つのファイルを用意しました。

  • FAReport.txt
  • reportFunction.java
  • report.java

それでは各ファイルの役割についてご説明します。

FAReport.txt

以下の4つの情報を記載するためのファイルです。いわば設定ファイル的なものですね。
内容を適宜変更すれば、変更した内容に合わせて『Selenium』が実行されます。

  • 1.「フォームアシスト」にログインする際のID
  • 2.「フォームアシスト」にログインする際のパスワード
  • 3. エクセル出力を行いたいクライアントのID
  • 4. エクセル出力する期間

<例>
user=selenium
pass=*********
clientID=selenium
period=2017/5

これは「selenium」という名称のアカウントで「フォームアシスト」にログインし、「selenium」という名のクライアントの2017年5月分をエクセル出力する……という意味になりますね。

reportFunction.java

要素の取得、入力項目に入力、ボタンをクリックなどのプログラムを記載しています。

report.java

『Selenium』を実行するファイルです。
エクセル出力の「Selenium実行前(@Before)」、「Selenium実行(@Test)」、「Selenium実行後(@After)」の動きを記載しています。
また、FAReport.txtの設定に合わせ、『Selenium』が実行されるようにしています。

実際の動きはコチラ

ダウンロードしたエクセルは、以下のようにパソコンのダウンロードフォルダに格納されています。

これで単純なエクセル出力の作業を自動化することができました。

このような単純作業にも関わらず、ボリュームがあるばっかりに悩まされている人も多いのではないでしょうか。

『Selenium』であればこのようなことができるという新たな発見もありましたので、今後も自動化の取り組みに邁進していきたいと思います。

コメント