レポート

モバイルでもクラウドでもSelenium「第2回日本Seleniumユーザーコミュニティ勉強会」レポート

この記事を読むのに必要な時間:およそ 5 分

脱・独自改造!GebでWebDriverをもっとシンプルに(玉川紘子氏)

玉川紘子氏

玉川紘子氏

『実践Selenium WebDriver』で付録でJenkins × Seleniumの部分を担当していますが,第1回の勉強会でJenkinsの話をしたので,今回はGeb(読み方は⁠じぇぶ⁠⁠,Groovyで動くWebDriverのラッパ)のお話をします。

WebDriverはそのまま使用するのはハードルが高く,ちょっとした処理でも行数が増えてしまいがちです。ほとんどの人が独自にラッパを作成しているのが現状かと思います。

そんなあるある感を,オープンソースで公開されている,より便利なツールを使って,独自改造をやめてみんなで幸せになろうというお話です。

Gebで便利になる点

Gebで便利になることとして,以下の点などが挙げられます。

  • コード量が少なくてすっきりする
  • jQueryライクでわかりやすい
  • データ駆動や強力なアサートの機能がある
  • これまで自社で作成してきたJavaライブラリの資産が使える
※)
フロントのデザイナにどこをテストしているのか伝えやすいという利点もあります。
例)assert $("h1").text() == "Please Login"

Gebを使う際の注意点

Gebを使う際の注意点として,以下があります。

  • Syntaxの省略に注意。省略は便利だが型をきちんと書いていないミスにつながる場合もある。IDE(Integrated Development Environment:統合開発環境)上の補完に頼りたければ型を書いたほうがベター
  • Implicit Assertionの使い方に注意しなければ思わぬところでエラーを出すこともある(ifの中にassertを書くとエラーも出ず素通りしてしまった)
  • PageObjectに生の処理を書いてしまいがちだが,それをしては意味がなくなってしまう

利点はとにかくコードがシンプルになることなので,お勧めです。

Q&A

Q:GroovyやGebの勉強方法は?
A:英語ですが,Gebの公式サイトにBook of Gebというマニュアルがあるため,体系的に学ぶことができてお勧めです。Groovyはやりたいことが増えるたびに調べています。
Q:jQueryのセレクタが全部使えますか?
A:似ているだけで,すべてが使えるわけではないです。

休憩中サインする玉川紘子氏

休憩中サインする玉川紘子氏

海外のSeleniumカンファレンスではどんな発表がされているのか2014(伊藤望氏)

伊藤望氏

伊藤望氏

日本Seleniumユーザーコミュニティ主宰の伊藤望氏からは,Seleniumカンファレンス2014の内容についての紹介がありました。

  • 2011年から毎年やっている
  • 世界中からSelenium開発者・ユーザが集まる
  • 3日間にわたるセッション&ワークショップ

続いて各セッションについての紹介があったのですが,とてもすべてを書ききれないので,3つ抜粋して紹介します。

正しいテストピラミッドを実現するためのSeleniumデトックス
単体テストでできるものは単体テストできちんとやろう。そのほうが保守コストも安くすむ
Allureフレームワーク- 水晶のようにクリアなSeleniumテスト結果レポート(どんな言語でも使える)
リッチなテスト結果レポートを出力できる。スクリーンショットなども表示できる
Seleniumプロジェクト取込みと拡張:Seleniumプロジェクトはどうやって世界最大のクローズドソース企業を参画させたか
MicrosoftをSeleniumプロジェクトに参加させるまでの話。スライドがないが,WebDriverの機能が次期Internet Explorerからは取り込まれるもよう。

まとめとして,良い発表が多かったので,スライドがなく動画のみの発表も今後頑張って内容を把握していくとのことでした。

次に事例紹介セッションになります。Seleniumの活用事例情報はまだまだ少ないため,ここからを楽しみにしてきた方も多いのではないでしょうか?

著者プロフィール

矢野聡(やのあきら)

株式会社オープンストリームにおいて,SEとして開発案件に従事。テスト嫌いだったので,何とかする方法はないかと思い「日本Seleniumユーザーコミュニティ」に参加。継続的インテグレーション,継続的デリバリーなどの単語が絡むものが好物。