• 6
    いいね
  • 0
    コメント

最初に

この記事はSelenium/Appium Advent Calendar 2016の25日の記事になります。遠慮の塊の大トリいただきました。

出会い

Seleniumと出会ったのはまだ私が2社目にいた時です。
業務用パッケージソフトウェアベンダーでエンジニアとして働いていました。
携わっている製品を旧バージョン1から新バージョン2に刷新するにあたり、品質をどう保つかというところが問題になって、自動テストの話になりました。
当時確か色々なWeb画面自動テストのツール3があって、比較の結果、Seleniumを使うことになりました。

Selenium2

今はもうSelenium3が出ていますが、当時はSelenium2が出たばかりでした。
今と違いChromeだけ専用のexeを使って動作していたため、IEなんてエラー出て止まるは、動いたとしてももっさりだわで、マルチブラウザのテストを目的としていた私としては、本当に悩みのタネでした。
感覚的にですが、Seleniumを使った各ブラウザの動作安定感は
  Chrome>>>>>>>>>>>>>>>FireFox>>>>{超えられない壁}>>>>>>>IE
という感じでした。
途中からIEDriverが出て一気にIEの動作が安定し、心から救われたのを覚えています。
今はFireFox用のexeも開発され、いい時代になったとしみじみ思います。

様々な問題と解決方法

自動でブラウザを動作させるのなんて簡単です。難いことはSelenium大先生が全てやってくれます。
問題は運用なんです。単体テストと違い、Web画面の自動テストのコストはとても大きいので、それを減らすために色々工夫しました。
具体的には

  • テストケース記述コスト
  • マルチブラウザ対応コスト
  • パラメータ変更によるコスト
  • 環境を用意するコスト

をSeleniumをラッピングした自作ツールとテスト環境提供サービスを利用して解決しました。
具体的な内容についてはPyConJP2015でプレゼンしましたので、興味があればどうぞ。
ちなみにこの時点では4社目に所属していた時のものになります。ちなみに今は5社目です。

これからやりたいこと

今所属している会社でもこの経験生かしてWeb画面の自動テストを日次で回すように持って行きたいです。
やはりコストとの兼ね合いが問題になるので、まずはChromeのみで全自動起動チェックとかから始めればいいかなと今は思っています。
一緒にやってくれる方いましたら、また、弊社に興味がありましたら、Qiitaの弊社技術者ブログトップページの下の方から連絡いただけましたら嬉しいです。お待ちしています!


  1. 実行環境はWindows限定、Delphiで実装、サーバーサイドはJava 

  2. 実行環境のOS問わず、Webアプリケーションに生まれ変わりJavaScriptへ、サーバーサイドはJavaのまま 

  3. 確かCasperJSとか比較対象だったように記憶しています 

この投稿は Selenium/Appium Advent Calendar 201625日目の記事です。