Selenium構築で活躍する女性|品質管理グループ「人物定点観測」 vol.1

Selenium構築で活躍する女性|品質管理グループ「人物定点観測」 vol.1

我ら品質管理グループ最大のミッションは、「ショーケース・ティービーが世に送り出すサービスの品質向上を絶えず図る」こと。ミッション達成のためにはハードウェア品質、ソフトウェア品質の双方をあらゆる角度からチェックし、時には駄目出しを行わなければならない。いわば社内の敵役になる場合もあるグループだ。

ただし、品質管理グループはサービスだけを検証している訳ではない。そのサービスを取り巻く環境、とりわけ人間そのものも定点観測ができる特殊な環境でもあったりする。

今回からその特殊な環境を活かし、ショーケース・ティービーに在籍するメンバーを紹介していく。
記念すべき第1回は品質管理グループの紅一点、「M.S」だ。
※「いきなり内輪かよっ」という話ですが、今後はグループ外メンバーも紹介予定です。。。

Seleniumとの悪戦苦闘の日々。時には難題をスルーすることも重要

Q:そもそもSeleniumの存在を知ったのはいつ頃ですか?

ショーケース・ティービーに入社する前から知ってました。FireFoxの「Selenium IDE」を使ったことがあります。でも、使っていたのはそれだけで、SeleniumといえばFireFoxのアドオンだとばかり思っていました(笑)。

プログラムを書いて動かせるというのはこの会社に入ってから知りました。これまで在籍していた他の会社では、使っているところを見たことがなかったぐらいです。

Q:Selenium構築はいつから始めたんですか?

今年の1月からなので、まだ半年間しか経っていません。
当然ながら、通常業務がある中で構築を進めているので、ずっとそればかり続けているわけではないんです。

Q:Selenium構築はどこからやりはじめた?

Eclipseのインストールから始めました。ローカライズ版もありますが、その当時はその存在も分からなかったので、英語版をダウンロードした上で日本語化するアドオンとSeleniumのライブラリを入れたのが最初です。

社内にはChromeユーザが多いこともあり質問しやすい環境だったので、まずはChromeDriverを入れ、Javaのコードを書き始めました。

最初のプログラムはChromeで普通にページが開くかどうか。通常ならアイコンをダブルクリックすればただChromeが立ち上がるだけなのですが、Seleniumを介して自動で開くのかを試したわけです。

なんでもないアクションですが、Seleniumをやる上では絶対に避けられないプログラムなので、最初はドキドキしました。

Q:Javaのコードは自然に使えたのですか?

以前、PHPを使い始めた時は訳が分からなかったのですが、そのPHPよりは全然カンタンだって感じました。

Q:構築で一番苦労したところは何ですか?

Eclipseを入れて環境を設定するところが一番大変だった(笑)。

社内で2回も環境構築をしたけど、2回とも時間かかった。3回目に自宅で構築した際にはスムーズにできました。今はもう環境設定は1時間くらいで終わりますね。

Q:具体的に環境構築で時間がかかったところは?

当時はEclipse上でSeleniumのライブラリを読み込ませる設定が難しく感じました。何をやってるのか分からなかった。さすがに3回も構築したので、なんとなく理解はできました。

また、Macで構築を行った際にChromeDriverに実行権限を付けないといけなかった部分が、最初は分からなくて悩んでいました。
でも、あんまり深く考えると先に進まないと思ったので、当時は勢いでやっていました。半分くらい理解したらもうそれ以上は踏み込まない(笑)。
根が楽天的なのかもしれませんね(笑)。

Q:自宅でも構築したとのことですが、家でもSeleniumを触ってるのですが?

全然触ってないです(笑)。
業務時間内でクローズするのが信条です!!

image05

Seleniumの学習から次のステージへ

Q:構築を完了し、基本的なプログラムができた後はSeleniumで何をしたのですか?

まずは社内サービスの管理画面を動かしてみました。

そもそもサービスを作った人間が社内にいるので、取っ掛かりとしては最適だと思ったんです。

Q:管理画面の自動テスト実施して、もっとこうだったらいいのにと思ったことはありますか?

社内に作った張本人がいるので大きな声では言えませんが(笑)、エレメントにIDが振られていない箇所が多いなって思いました。

エレメントIDがない場合、xpathで取得することになるわけですが、それだと管理画面に変更が入った時に、すべてにメンテナンスが必要になってしまいますよね。後々のことを考慮すれば、一時の面倒であってもエレメントID付与が大事なのかなと。Seleniumで検証する上では、せめてボタンにはIDを振って欲しいと思いました。

ただし、サービスによってはIDが振られていたものもあります。そんなサービスなら自動テストを作るのも楽でした。コード自体も短く済むし、すっきりして見やすくなります。

Q:Seleniumを使用しはじめてから、業務はどのくらい効率的になりましたか?

弊社サービスのOEMの検証は楽になりましたね。ほとんどSeleniumで実施することができたので「こりゃいいな」と思いました(笑)。他にもブラウザのバージョン検証とかでも、Seleniumの真価を発揮できています。すごく便利になりました。

新規の機能を検証すること以上に、既存機能が問題なく動いているのか検証をするのに向いているのかもしれませんね。

Q:環境構築を終えてから苦労した点はありますか?

IE11はブラウザにクセがあって大変でした。ブラウザ自体の設定をいろいろ触る必要があり、「保護モードが~」とか、「レジストリが~」とか。なんなんですかね、レジストリって(# ゚Д゚)

他のブラウザとは違って、IE Driverを読み込ませただけじゃ動かなかったので、ネットを調べてまくりました。ただ、有力情報が一か所にまとまっていることはなく、自分で整理するしかありませんでしたね。

また、検索しても“できる人”向けに書かれているサイトばかりで。もっと初心者向けのサイトがあってもいいんじゃないかと思いました。
その整理した結果はブログとしてまとめましたので、ぜひご覧ください。
(※詳細は別記事をご覧ください)

あとはSeleniumについて調べようとすると、英語のサイトがとても多くて大変でした。
でも英語は分かるようにはなっていませんけど(笑)。

Q:ネットの情報は分散していたとのことですが、他に参考になったものは?

上司が紹介してくれた本『Selenium実践入門』が予想以上に役立ちましたね。
あんなに苦労した環境構築すらシンプルに説明していて、後になって「こんな簡単だったのか!」と思ったぐらいです。

Q:今後、Seleniumでやろうとしていることは何かある?

Seleniumというよりは、勢いでやっていたJavaの基本をやりたいですね。
それができればSeleniumの可能性もさらに広がりそうな予感もするので。

Q:これからSeleniumに触れようとしているエンジニアに向けてメッセージを

FireFoxの「Selenium IDE」を触るだけでも、Seleniumのポテンシャルが分かると思います。
まずはそこからでも十分。

また、新しい言語をやり始めるときは、最初は100%理解しなくてもいいと思います。根を詰めると挫折しちゃうので、時には勢いで進めてしまうのはアリですヨ。

人物定点観測:ファイル001

image02 M.S

アパレル業界でのスーツの販売業務やECサイト、FXサイト、不動産サイトなどの更新業務を経て2013年、ショーケース・ティービー入社。

最近の趣味は「料理」と「ダイエット」。半年で9キロものダイエットに成功したとのこと。また、運動はするのも見るのも大好きというアクティブな一面も。特にテニスが大好きで、2015年の楽天オープンで錦織選手の試合を見て興奮した模様。

なお、将来の夢は「いいおうちに住む」こと。夢を叶えるために、Seleniumを猛勉強中です。

M.Sさんのブログ一覧はコチラ

コメント