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

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

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

こんにちは。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を使用しています)> 
package com.html.sample;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class SampleTest {
private WebDriver driver;

@Before
public void SetUp() {
System.setProperty("webdriver.chrome.driver","./driver/chromedriver");
driver = new ChromeDriver();
}

@Test
public void case1() {
//googleのページを開く
driver.get("https://www.google.co.jp/");
}

@Test
public void case2() {
//ショーケースtvのページを開く
driver.get("http://www.showcase-tv.com/");
}

@After
public void tearDown() {
driver.quit();
}
}

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

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

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

①&④Chrome起動
@Before
public void SetUp() {
System.setProperty("webdriver.chrome.driver","./driver/chromedriver.exe");
driver = new ChromeDriver();
}

③&⑥ブラウザを閉じる
@After
public void tearDown() {
driver.quit();
}

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

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

②Googleのトップページを開く
@Test
public void case1() {
//googleのページを開く
driver.get("https://www.google.co.jp/");
}

⑤ショーケース・ティービーのトップページを開く
@Test
public void case2() {
//ショーケースtvのページを開く
driver.get("http://www.showcase-tv.com/");
}

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

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

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

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

うまくいきましたか?

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

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

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでもこちらから行うことが可能です。

あなたにおすすめ

  • 【初心者向け】Seleniumをまわしてみよう④ こんにちは。M.Sです。 今回は初心者向けSelenium講座の第4回目です。早いものでこの連載を開始してから1カ月が経ちました。 <bitWave関連記事『【初心者向け】Seleniumをまわしてみよう①』> <b …
  • 【初心者向け】Seleniumをまわしてみよう③ こんにちは。2月は毎日筋トレを欠かさなかったM.Sです。 ちなみに、持続のコツは短時間で集中して行うことです。筋トレは10分間と決めています。 このSelenium講座も継続して連載できていますねw 早速ですが、 …
  • 【初心者向け】Seleniumをまわしてみよう② こんにちは。M.Sです。 初心者向けSelenium講座の第2回目です。 <bitWave関連記事『【初心者向け】Seleniumをまわしてみよう①』> 今回は対象の要素の取得、取得した要素をクリックする …
  • 【初心者向け】Seleniumをまわしてみよう⑤ こんにちは。M.Sです。 今回の第5回目は、なんとこの「初心者向けSelenium講座」の最終回です。 <bitWave関連記事『【初心者向け】Seleniumをまわしてみよう①』> <bitWave関連記事『【初心 …