Webアプリケーション自動化パッケージ「Selenium」について

みなさん、こんにちは。早坂 翔太(はやさか しょうた)です。

私は現在、スマートフォンのアプリケーションを自動で検証するユニットテスト用プログラムを開発しております。

今回はWebアプリケーションの自動化パッケージについてお話しようと思います。

ん?と思った方もいるかと思います。

スマートフォンアプリを自動化しているのならWebアプリではないのでは?と。

実はスマートフォンアプリの自動化パッケージは「Appium」というものを使用しますが、その元となるパッケージが表題にもある「Selenium」なのです。

時代とともに派生してAppiumが生まれたわけですね。

では「Selenium」ってどんなことが出来るの?となりますね。

簡単に言えば、GoogleChrome等のブラウザを自動で操作するプログラムが詰まっているパッケージです。

以下に例を出すと・・・・

  1. Google Chromeを起動
  2. Googleの検索ワードを入力するテキストボックスに「テスト」を入力
  3. 「検索」ボタンを押す

といった動きがプログラムで表現できます。

対応言語は多いですが、一例としてJAVAでコードを表現すると以下のようになります。

// Chromeを操作するドライバの宣言
WebDriver driver = new ChromeDriver();
    // 指定URLをChromeで起動
    driver.get("https://www.google.com");

// 検索ワード部分の情報
WebElement searchElement = driver.findElement(By.name("q"));
    // 検索ワードを入力する部分
    searchElement.sendKeys("テスト");

// 検索実行
searchElement.submit();

 

このようにプログラムで書くことが出来ます。

当然このステップだけでは人がやった方が早いよ!と思う方が大半だと思いますが・・・。

ただこれが総計10回のクリック、入力項目に毎回指定ワードを入れる、スクロールしてあれば押す・・・等が入ってくる単純な作業を何十回もやらなければいけないとなると人力では大変ですよね!

プログラムで表記し、あとは勝手にやってくれるのが理想です。

準備段階をすっとばして「こんなものだよ!」という紹介になりますが、便利なものだなというのは伝わったと思います!

今後無人操作というのはどんどん進み、活躍の場も増えていくと思います!

興味を持った方は是非試してみてください!

機会があれば環境の組み方や業務レベルで使用するようなコードも紹介できたらと思います。

上記で紹介した言語以外にも以下などの言語でも使用可能です。「これやったことある!」となればもったいないので1度は触ってほしいです!

  • Ruby
  • Python
  • C#
  • JavaScript(Node.js)

では、また次の機会にでもお会いできたらと思います。ありがとうございました。