【初心者向け】Seleniumをまわしてみよう①

  • 2017年3月6日
  • by 
【初心者向け】Seleniumをまわしてみよう①

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

私はこれまで、ショーケース・ティービーが開発したサービスのテストをするSeleniumを作成してきました。
ちなみにSeleniumに出会うまで、本格的な開発をした経験はありません。
なぜ、開発経験のない私がSeleniumを作成できたのかというと……、ズバリ「マネ」です!

さむらいさんが書いたjavaのソースを手本に、「この書き方でこういうことができるのか」と学習したりソースを流用したりと……。

過去にseleniumについて本ブログに書いたように、時にはマネできなかったり、マネしているのに何故かうまくいかないという壁もいくつかありました。素直にインターネットで検索することもあれば、時には他の人が書いたソースも参考にしてみたり。

すべてを完璧に理解できなくても、何とか勢いで作成することができました。

でも少しここで立ち止まって、最初から勉強し直してみたいと思います。
使用言語はjavaです。javaの基本文法から触れた方が良いのですが、まず書いて試しましょう。後から「インスタンス」やら「クラス」とやらを勉強をした方が理解しやすいかと思います。

おさらい用として初心者向けの内容となっていますので、あらかじめご了承ください!

Webページにアクセスしてみよう

まずはSeleniumが動くように環境を準備しましょう。
環境構築のやり方は下記のbitWave過去掲載記事を参考にしてみてください。
<bitWave関連記事『SeleniumとGoogle Spreadsheet(1~7)』>

準備ができたら、さっそくテストするプログラムを書いてみましょう。
今回は初歩の初歩、「ブラウザを立ち上げて閉じる」という行為をSeleniumにやってもらいます。<テスト1>と<テスト2>を連続して実施してみましょう。

<テスト1>
①Chrome起動
②Googleのトップページを開く
③ブラウザを閉じる

<テスト2>
④Chrome起動
⑤ショーケース・ティービーのトップページを開く
⑥ブラウザを閉じる

<ソース(※macを使用しています)> 

まずは<テスト1>と<テスト2>とで共通する動作を抜き出してみると……
①&④Chrome起動
③&⑥ブラウザを閉じる

ご覧の通り2つありますね。

この2つの共通動作のプログラムがどの部分にあたるのかというと、「@Before」と「@After」に書かれた部分になります。

①&④Chrome起動

③&⑥ブラウザを閉じる

それでは上記とは反対に共通していない部分、つまりブラウザ起動しとブラウザ破棄の間に実施されるアクションですが、こちらも2つありますね。
②Googleのトップページを開く
⑤ショーケース・ティービーのトップページを開く

この2つの動作はプログラムの「@Test」に書かれた部分にあたります。

②Googleのトップページを開く

⑤ショーケース・ティービーのトップページを開く

プログラム上の「case1」ではGoogleのトップページを開き(=テスト1)、もう一方の「case2」ではショーケース・ティービーのトップページが開きます(=テスト2)。

Webページを開くプログラムは以下のように書くんですね。
driver.get(“開きたいWebページのURL”);

作成したプログラムを実行してみよう

それではEclipseの「実行」ボタンを押して、実際にSeleniumでまわしてみましょう。
正しければ下記のように実行されます。
①Chrome起動
 ↓
②Googleのページを開く
 ↓
③ブラウザを閉じる
 ↓
④Chrome起動
 ↓
⑤ショーケース・ティービーのページを開く
 ↓
⑥ブラウザを閉じる

うまくいきましたか?

Seleniumを検証シーンに持ち込むとなると、ブラウザの開閉だけでは済みません。
実際の検証シーンになぞらえて、ページを開いた後に対象の要素をクリックしたり、入力したりといったプログラムも必要となります。

それは次回以降にご紹介したいと思います。

コメント