jqTransformで飾られたページをSeleniumでテストする

jqTransformで飾られたページをSeleniumでテストする

スポンサーリンク

jqTransformはオワコン

capybara古いシステムを相手にしていると、今はメンテナンスされていない古いライブラリを使っていたりする。
GitHub – jcamenisch/jqTransform: a jQuery styling plugin which allows you to skin form elements.は画面の表現をリッチにするために一時期よく使われたものらしいのだが、ページにあるように、もうメンテナンスされていない。

jqTransformの画面をSelenium+Capybaraでテストするのは簡単ではない

jqTransformを使っている場合、ラジオボタンやドロップダウンリストなどの操作をSelenium+Capybaraで自動テストしようとしても、うまくいかない。元々のhtmlを豪快に書き換えてくれて、かつ、クリックなどのユーザの操作でスタイルを差し替えるのだ。だから、単純にCSSセレクターなどで要素を指定できないのだ。

Page Object ModelでうまくjqTransformを使った画面をカプセル化する

htmlなどのコードを見てセレクターを作るのではなく、ブラウザに表示されている状態で要素を確認してセレクターを書けば、jqTransformが処理した後のhtmlを相手にセレクターで操作できるようになる。また、要素をクリックした後の画面でもう一度要素を確認すれば、スタイルが差し替えられた後の状態を見ることができる。

単純に、ある要素をクリックするという操作をSeleniumで書けば良いのではない。見えている要素をクリックして、その結果表示されるようになった要素に対して操作するようSeleniumで書く必要があるのだ。ユーザーの操作に対して直感的ではないコードにする必要があるので、Page Object Modelでうまく隠すことが必要だろう。

Seleniumのクックブックが欲しい

テストの自動化の場合、「この場合はどうコードにするか」という部分は本来のタスクではない。テストを行って問題を洗い出すことが本来の目的であるのだ。だから、クックブックのような、事例集が重要になってくるのではないか?Seleniumに関する本が何冊か出版されているが、クックブックのように事例が豊富に記載されているものは、あるのだろうか?

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

フォローする

この記事へのコメント

Loading Facebook Comments ...

No Trackbacks.